2. Proxy (Procurador) es un computador
intermediario entre el usuario final y la
Internet.
Intercepta los requerimientos de un
usuario hacia un servidor de destino.
3. Seguridad y control
Mantener un servidor de forma anónima.
Para mantener registros del uso de una red,
por ejemplo el uso de Internet que hacen los
empleados de una compañía.
Para proveer un mecanismo que pueda
revisar contenidos.
Para mejorar la velocidad de respuesta de
acceso a recursos en la red o a páginas de
Internet.
4. Ahorro de trafico: Las peticiones de páginas Web se hacen al
servidor Proxy y no a Internet directamente. Por lo tanto, aligera el
tráfico en la red y descarga los servidores destino, a los que llegan
menos peticiones.
Velocidad de tiempo de respuesta: El servidor Proxy crea un caché
que evita transferencias idénticas de la información entre
servidores durante un tiempo (configurado por el administrador) así
que el usuario recibe una respuesta más rápida.
Filtrado de contenido: El servidor proxy puede hacer un filtrado de
páginas o contenidos en base a criterios de restricción establecidos
por el administrador dependiendo valores y características de lo
que no se permite, creando una restricción cuando sea necesario.
Demanda de los Usuarios: Puede cubrir a un gran número de
usuarios, para solicitar, a través de él, los contenidos Web.
5. Anonimato: Todos los usuarios se identifican
como uno sólo, esto produce problemas cuando
debe identificarse.
Abuso: Al estar dispuesto a recibir peticiones de
muchos usuarios y responderlas, es posible que
se le soliciten acciones que no le corresponden.
Incoherencia: Al almacenar respuestas previas en
cache es posible que entregue versiones antiguas
almacenadas.
Bloqueo: Restringen paginas y puertos
Privacidad: los servidores tienen acceso a las
paginas visitadas.
6. Un servidor proxy o también llamado caché web, es un equipo
dentro de la red que recibe solicitudes HTTP en nombre de un
servidor web de origen y consiste en almacenar los objetos
que han sido solicitados por el cliente recientemente.
El ancho de banda se minimiza debido a que sólo es
necesaria una conexión del servidor de origen para cargar
contenido y recibir información de los servidores proxy-caché
de la red.
Se reduce la latencia ya que un cliente puede recibir
contenido de un servidor proxy-caché próximo de forma más
rápida
Se desplaza la carga del servidor de origen porque existe un
menor número de clientes conectados directamente a él.
7. El cliente negociaba con el servidor Proxy
una conexión por medio del protocolo
SOCKS en la capa 5 del modelo OSI.
Inicialmente era popular el uso de SOCKS
en la web pero el uso de TCP/IP lo dejo
en desuso.
SOCKS (sockets) es un protocolo de
internet que permite a las aplicaciones
cliente-servidor una conexión
transparente a través de un firewall.
8.
9. Combina un proxy web con un firewall
Es usado habitualmente en ISP’s (Internet
Service Provider)
Las conexiones son interceptadas y
desviadas hacia el proxy sin necesidad de
configuración en el cliente.
10.
11. El servidor web interpone a este proxy en
su conexión a la Internet.
Sirve para reducir las consultas en disco
sobre todo de las paginas a ser
mostradas que son mas solicitadas.
Defensa ante ataques al servidor web.
El cifrado y aceleración en conexiones
seguras SSL/TLS (Capa de puertos
Seguros/Seguridad en la capa de
transporte)
12.
13. Realiza el enmascaramiento de direcciones IP.
Se usa cuando varios usuarios comparte una
conexión a Internet
Cambia la IP de los paquetes del cliente por la IP
publica de la red, asimismo recibe los paquetes
respuesta y los reenvía al cliente correspondiente
14.
15. Protocolo de transferencia de Hypertexto
Usa protocolo TCP, puerto 80 (no seguro) ,
puerto 443 (seguro SSL/TLS).
Desarrollado por el Consorcio de la WWW y
la Fuerza de Tarea de Ingeniería de Internet
IETF.
Define la sintaxis y la semántica que utilizan
los elementos de software de la arquitectura
Web.
Es un protocolo sin estado , no almacena
información sobre las conexiones
16. Es la presentación de información de
manera no lineal o secuencial a través de
enlaces, donde cada enlace permite
acceder a otros archivos o documentos.
Este tipo de documento esta compuesto
por varios nodos y permite infinidad de
formas de acceder a la información.
17. RFC 1945 (HTTP/1.0, 1996) Usada
ampliamente en servidores proxy.
RFC 2616 (HTTP/1.1, 1999) Ampliamente
usada permite al cliente realizar peticiones
simultaneas en una misma conexión.
RFC 2774 (HTTP/1.2, 2000) Define un
procolo de extensión del protocolo (PEP)
RFC 7540 (HTTP/2, 2015) Incluye mejoras
en el empaquetamiento y transporte de
datos, no modifica la sintaxis ni semántica
del protocolo inicial.
18. Se realizan por medio de mensajes de
petición y respuesta entre cliente y
servidor.
Cada mensaje tiene una estructura
definida
Los mensajes son enviados en texto
plano.
19. Método (acción) : Definida por un verbo y la
identificación de un recurso solicitado
Cabecera: Define características adicionales del recurso
solicitado al servidor y descripción de características del
cliente
Cuerpo: información (opcional), es el contenido de un
archivo en texto plano
20.
21. GET : Solicita una petición dentro de la URL.
POST :Envía datos en el cuerpo de la petición
PUT :Upload carga información al servidor.
HEAD: Solicita una respuesta idéntica a GET pero sólo
devuelve las cabeceras (no el cuerpo).
DELETE: borrado
TRACE: Devuelve la petición, para comprobar si algún
equipo intermedio modificó la original
OPTIONS: Devuelve los métodos soportados por el
servidor
CONNECT :Empleado para túneles TCP/IP, típicamente
para hacer conexiones https a través de un proxy http.
Riesgo si en el proxy no se limitan los posibles destinos
host:port
22. Accept (indica el MIME (extensiones
multiproposito de correo de internet)aceptado)
Accept-Charset (indica el código de caracteres
aceptado)
Accept-Encoding (indica el método de
compresión aceptado)
Accept-Language (indica el idioma aceptado)
User-Agent (para describir al cliente)
Server (indica el tipo de servidor)
Allow (métodos permitidos para el recurso)
23. Content-Type (indica el MIME del
contenido)
Content-Length (longitud del mensaje)
Content-Range
Content-Encoding
Content-Language
Content-Location.
24. Cabeceras que hacen referencias a URIs: Location (indica
donde está el contenido), Referer (Indica el origen de la
petición).
Cabeceras que permiten ahorrar transmisiones: Date (fecha
de creación), If-Modified-Since, If-Unmodified-Since, If-
Match, If-None-Match, If-Range, Expires, Last-Modified,
Cache-Control, Via, Pragma, Etag, Age, Retry-After.
Cabeceras para control de cookies: Set-Cookie, Cookie
Cabeceras para autentificación: Authorization, WW-
Authenticate
Cabeceras para describir la comunicación: Host (indica
máquina destino del mensaje), Connection (indica como
establecer la conexión)
Otras: Range (para descargar sólo partes del recurso), Max-
Forward (límite de cabeceras añadidas en TRACE).
25.
26.
27. Código de respuesta: Código de
tres digitos
Cabecera: Define características
del recurso
Cuerpo: información solicitada por
el cliente y que es entregada.
28. 1xx Respuesta informativa de petición en
proceso.
2xx Respuesta correcta, petición procesada
correctamente.
3xx Respuesta de redirección , el cliente
necesita mas acciones para obtener el
recurso.
4xx Errores causados por el Cliente
5xx Errores causados por el Servidor
29. • 100 - Continue
El navegador puede continuar realizando su petición (se utiliza para indicar que
la primera parte de la petición del navegador se ha recibido correctamente).
• 101 - Switching Protocols
El servidor acepta el cambio de protocolo propuesto por el navegador (puede ser
por ejemplo un cambio de HTTP 1.0 a HTTP 1.1).
• 102 - Processing (WebDAV - RFC 2518)
El servidor está procesando la petición del navegador pero todavía no ha
terminado (esto evita que el navegador piense que la petición se ha perdido
cuando no recibe ninguna respuesta).
• 103 – Checkpoint
Se va a reanudar una petición POST o PUT que fue abortada previamente.
30. 200 - OK Respuesta estándar para peticiones correctas.
201 - Created La petición ha sido completada y ha resultado en la creación
de un nuevo recurso.
202 - Accepted La petición ha sido aceptada para procesamiento, pero este
no ha sido completado. La petición eventualmente pudiere no ser satisfecha,
ya que podría ser no permitida o prohibida cuando el procesamiento tenga
lugar.
203 - Non-Authoritative Information (desde HTTP/1.1) La petición se ha
completado con éxito, pero su contenido no se ha obtenido de la fuente
originalmente solicitada sino de otro servidor.
207 - Multi-Status (Multi-Status, WebDAV) El cuerpo del mensaje que sigue
es un mensaje XML y puede contener algún número de códigos de respuesta
separados, dependiendo de cuántas sub-peticiones sean hechas.
31. 300 - Multiple Choices Indica opciones múltiples para el URI que el cliente podría
seguir.
301 - Moved Permanently Esta y todas las peticiones futuras deberían ser dirigidas
a la URI dada.
302 - Found Este es el código de redirección más popular, pero también un ejemplo
de las prácticas de la industria contradiciendo el estándar
307 - Temporary Redirect (desde HTTP/1.1) Se trata de una redirección que
debería haber sido hecha con otra URI, sin embargo aún puede ser procesada con la
URI proporcionada.
308 - Permanent Redirect El recurso solicitado por el navegador se encuentra en
otro lugar y este cambio es permanente. A diferencia del código 301, no se permite
cambiar el método HTTP para la nueva petición (así por ejemplo, si envías un
formulario a un recurso que ha cambiado de lugar, todo seguirá funcionando bien).
32. 400 - Bad Request La solicitud contiene sintaxis errónea y no debería repetirse.
401 – Unauthorized Similar al 403 Forbidden, pero específicamente para su uso cuando la
autentificación es posible pero ha fallado o aún no ha sido provista.
403 - Forbidden La solicitud fue legal, pero el servidor rehúsa responderla dado que el
cliente no tiene los privilegios para hacerla. En contraste a una respuesta 401 No autorizado,
la autenticación no haría la diferencia.
404 - Not Found Recurso no encontrado. Se utiliza cuando el servidor web no encuentra la
página o recurso solicitado.
405 - Method Not Allowed Una petición fue hecha a una URI utilizando un método de
solicitud no soportado por dicha
406 - Not Acceptable El servidor no es capaz de devolver los datos en ninguno de los
formatos aceptados por el cliente.
407 - Proxy Authentication Required
408 - Request Timeout El cliente falló al continuar la petición
33. 500 - Internal Server Error Es un código comúnmente emitido por aplicaciones
empotradas en servidores web, mismas que generan contenido dinámicamente,
por ejemplo aplicaciones montadas en IIS o Tomcat, cuando se encuentran con
situaciones de error ajenas a la naturaleza del servidor web.
501 - Not Implemented El servidor no soporta alguna funcionalidad necesaria
para responder a la solicitud del navegador (como por ejemplo el método utilizado
para la petición).2
502 - Bad Gateway El servidor está actuando de proxy o gateway y ha recibido
una respuesta inválida del otro servidor, por lo que no puede responder
adecuadamente a la petición del navegador.2
503 - Service Unavailable El servidor no puede responder a la petición del
navegador porque está congestionado o está realizando tareas de
mantenimiento.2
504 - Gateway Timeout El servidor está actuando de proxy o gateway y no ha
recibido a tiempo una respuesta del otro servidor, por lo que no puede responder
adecuadamente a la petición del navegador.2
505 - HTTP Version Not Supported El servidor no soporta o no quiere soportar la
versión del protocolo HTTP utilizada en la petición del navegador.2
34.
35. Negociación de contenidos: Son
mecanismos para que a partir de una URI
se puedan obtener distintos recursos u
objetos
Text/htm text/* Idioma jpg/png
36. Compresión
Chunked Transfer Encoding
Byte Serving: Enviar solo la parte del
archivo que indique el cliente.
Accept-Encoding: gzip, deflate
Accept-Encoding: gzip, deflate
Accept-Encoding: gzip, deflate
37.
38.
39. El protocolo HTTP
esta definido para no
recordar el estado
de conexión,
originalmente fue
pensado para
conexiones de vida
corta Requerimiento-
Respuesta-FIN
40. Conexiones Persistentes
(HTTP keep-alive).
El cliente puede mantener
hasta dos conexiones
persistentes a fin de evitar
el congestionamiento del
servidor.
Se pueden realizar varios
requerimientos usando la
misma conexión.
Al establecer una conexión
TCP se prefiere mantenerla
durante un tiempo mayor.
41. HTTP Pipelininig
Permite el envío de
peticiones en forma
asíncrona sin esperar
respuesta.
No esta activado por
defecto en los actuales
web browsers.
Requiere de una
conexión persistente.
42. Protocolo de transferencia de hipertexto
Seguro.
Basado en el protocolo HTTP usa el
puerto 443.
Es usado por bancos, tiendas en línea y
empresas que manejan información
sensible como datos de usuario,
contraseñas , tarjetas de crédito.
43. Su objetivo es proporcionar un canal
seguro de comunicación en una red
insegura.
La confianza en HTTPS esta basada en
una certificación dada por una autoridad
superior.
Esta certificación viene pre-instalada en el
navegador (Verisign/Microsoft, etc)
44. El Usuario confía en la autoridad de
certificación.
El website proporciona un certificado
válido entregado por la autoridad
certificadora.
El certificado identifica correctamente al
website.
Cada uno de los nodos de comunicación
son dignos de confianza, mediante una
conexión TLS o SSL.
45. En el protocolo HTTP las URLs comienzan
con http:// y en el seguro es https://
HTTP utilizana por defecto el puerto 80, las
URLs de HTTPS utilizan el puerto 443 por
defecto.
HTTP es inseguro y está sujeto a ataques
man-in-the-middle y eavesdropping (escucha)
que pueden permitir al atacante obtener
acceso a cuentas de un sitio web e
información confidencial.
HTTPS está diseñado para resistir esos
ataques y ser seguro.
46.
47. HTTP opera en la capa más alta del Modelo
OSI, la Capa de Aplicación; pero el protocolo
HTTPS opera en una subcapa más baja,
cifrando un mensaje HTTP previo a la
transmisión y descifrando un mensaje una
vez recibido.
Estrictamente hablando, HTTPS no es un
protocolo separado, pero refiere el uso del
HTTP ordinario sobre una Capa de Conexión
Segura cifrada Secure Sockets Layer (SSL)
o una conexión con Seguridad de la Capa de
Transporte (TLS).