La WWW (World Wide Web) es un sistema distribuido en donde la información está enlazada entre sí, y que puede ser accedida utilizando el Protocolo HTTP.
La información se incluye en Páginas web que contienen Recurso web como pueden ser imágenes, vídeos, etc. y además enlaces web que permiten acceder a otras páginas web u objetos.
Si hay que descargase dos o más Recurso web de un mismo servidor, se pueden enviar todas las solicitudes {{en secuencia sin necesidad de esperar sus respuestas}}.
Si hay que descargarse recursos de un servidor, todos de igual tamaño y con tiempo de transmisión el tiempo total de descarga[1] es [2]
se asume que el tiempo de transmisión del GET es despreciable.↩︎
uno de los es debido a la propagación del GET y el otro a la propagación del objeto (se ve claramente en la figura como el último bit del último recurso necesita un para llegar al cliente.)↩︎
Si un navegador procesa este fichero, la salida sería la siguiente:
IMPORTANTE: después de procesar el fichero HTML visto al principio, el agente de usuario del navegador detecta que debe descargarse el Recurso web con URLhttps://www.ejemplo.com/imagen.jpg. Una vez descargada dicha imagen, el agente de usuario ya puede mostrar la página web completamente.
Si el usuario hace click en el enlace, el agente de usuario deberá pedirle al cliente HTTP del navegador que se descargue el objeto con la URL asociada.
Mensajes generados por el servidor como respuesta a la solicitud de un cliente.
La primera línea de los mensajes de tipo respuesta se llama status line, y está compuesto por tres campos separados por espacios:
Versión del protocolo HTTP.
código de estado ver más abajo.
phrase es una descripción, en texto, del código de estado.
Los códigos de estado representan las posibles respuestas que puede devolver un servidor. Es un valor de tres caracteres numéricos, en donde el primero indica el tipo de código, que pueden ser estos:
1xx: información, respuesta provisional.
2xx: éxito en la resolución de la solicitud.
3xx: redirigir solicitud, necesarias más acciones.
HTTP/1.0 200 OK
Date: Friday, 23-Feb-01 16:30:00 GMT
Server: Apache/1.1.1
Content-type: text/html
Content-length: 230
/ esto es una linea en blanco /
<html>
<head>
<title>Ejemplo HTML Básico</title>
</head>
<body>
<h1>Encabezado de nivel 1</h1>
<p>Este es un párrafo de texto.</p>
<h2>Encabezado de nivel 2</h2>
<p>Otro párrafo de texto. </p>
<a href="https://www.ejemplo.com/hola.html"\>¡Página de bienvenida!</a>
<img src=”https://www.ejemplo.com/imagen.jpg" alt=”Imagen">
</body>
</html>
Cuando un usuario visita por primera vez un sitio web que utiliza cookies, el servidor realiza las siguientes acciones al recibir una solicitud:
Genera un identificador único para el usuario.
Crea una entrada indexada en su base de datos asociada a ese identificador.
Envía una respuesta que contiene la cabecera "Set-Cookie" con el identificador, por ejemplo: Set-Cookie: 4342 en las respuestas.
Cuando el navegador recibe una respuesta que incluye una cookie, ejecuta los siguientes pasos:
Agrega una línea al archivo de cookies que gestiona, incluyendo principalmente el "Nombre del servidor" y el "Identificador" (la cookie).
Posteriormente, en cada solicitud que el usuario realiza para navegar por el sitio web:
a. El navegador consulta el archivo de cookies.
b. Si existe una cookie para el sitio, extrae el identificador y lo incorpora en la cabecera "Cookie" en las solicitudes, por ejemplo: Cookie: 4342.
Luego, cada vez que el usuario desea navegar por el sitio web:
El navegador consulta el archivo de cookies.
Si existe una cookie para el sitio, extrae el número de identificación y lo incluye en la cabecera "Cookie" en los mensajes de solicitud, por ejemplo: Cookie: 4342.
Mecanismo HTTP que {{permite que el cliente pregunte al servidor si la copia que tiene almacenada (que descargó con anterioridad) es válida}}.
En las Respuestas HTTP, el servidor incluye, además del recurso web, la fecha de última modificación del objeto (request_lineLast-modified), por lo que el cliente, además de guardar el objeto en su caché, incluye también esta fecha.
Antes de enviar una solicitud HTTP, el navegador comprueba si ya tiene el contenido en su caché. Si es así, añade la request lineIf-Modified-Since junto con la fecha de última modificación almacenada junto al recurso.
Al recibir una solicitud que incluya la cabecera If-Modified-Since, un servidor comparará la fecha de modificación local con el valor que acompaña a la cabecera:
Si las fechas coinciden (objeto no modificado), el servidor contestará con una respuesta {{con código 304 (Not modified) y con el cuerpo del mensaje vacío}}
Si las fechas no coinciden (objeto modificado) el servidor contestará con un mensaje {{con código 200 (OK) y el cuerpo del mensaje contendrá el Recurso web solicitado.}}
Además, la cabecera Last-modified contendrá la fecha y hora de última actualización del objeto.
Al recibir este mensaje, el cliente web actualizará su caché.
Se sitúa lógicamente {{entre los clientes web a los que se quiere dar servicio y los servidores conectados a Internet}}. En los clientes web se debe configurar la dirección IP del proxy.
Para los clientes web, el proxy HTTP actúa como un servidor web normal, mientras que para los servidores HTTP, el proxy es un cliente más.
Cuando un cliente quiere acceder a un servidor HTTP, envía la solicitud al proxy HTTP que tiene configurado, el cual a su vez envía la solicitud al servidor HTTP en cuestión. Al recibir la respuesta, el proxy almacena la información en su caché local y reenvía la respuesta al cliente web.
En el caso en el que el proxy tenga en su memoria caché el Recurso web solicitado por el cliente, realizará los pasos descritos en Caché Web. De esta forma, el proxy web funciona como una caché colectiva de todos los clientes web que lo estén utilizando.