Solicitud y respuesta HTTP

Los navegadores web interactúan con los sitios web siguiendo el protocolo HTTP. Este es un conjunto de reglas estandarizado para la comunicación:

  • Cuando visitas una página web, tu navegador envía solicitudes HTTP para los recursos de la página, como HTML, CSS, JavaScript e imágenes.
  • Cuando un servidor HTTP (un servidor web que aloja un sitio web) recibe una solicitud HTTP válida de un navegador, el servidor responde al navegador con una respuesta HTTP.
  • Las solicitudes y respuestas pueden incluir información adicional conocida como encabezados HTTP.

Por ejemplo, considera el sitio cats.example..

El sitio web mítico cats.example.

Solicitud

El acceso a la página cats.example inicia una cadena de solicitudes a varios dominios. Esto incluye una solicitud de una imagen alojada en cats.example, una solicitud de una secuencia de comandos de Analytics de analytics.example y otras solicitudes de recursos adicionales de otros dominios.

Las solicitudes HTTP se pueden aumentar con encabezados de solicitud HTTP para proporcionar información complementaria del navegador al servidor web. Por ejemplo, a menudo se incluyen encabezados como los siguientes:

  • Accept-Language: en-US
    Este encabezado indica el idioma preferido del usuario, que, en este caso, es inglés (Estados Unidos).
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    Este encabezado proporciona detalles sobre el navegador y el sistema operativo del usuario. En este caso, "Mozilla/5.0" (familia del navegador), "Macintosh" (sistema operativo) y "Chrome/127.0.0.0" (versión del navegador).

Respuesta

Cuando un servidor web recibe una solicitud válida de un navegador, le envía una respuesta que proporciona el recurso solicitado (la "carga útil"): HTML, CSS, JavaScript, un archivo de imagen, un video o cualquier otro dato. Al igual que cada solicitud del navegador puede incluir encabezados de solicitud, cada respuesta del servidor puede incluir encabezados de respuesta. Estos encabezados de respuesta se envían junto con la carga útil.

Un encabezado Set-Cookie incluido en una respuesta le indica a tu navegador que almacene algo de texto: un nombre y un valor. Esto se conoce como cookie HTTP. En respuesta a la solicitud de cats.example/images/cat.jpg, el servidor cats.example incluye el encabezado Set-Cookie:cat=tabby. Esto le indica al navegador que almacene una cookie llamada cat con el valor tabby.

Luego, esa cookie se incluirá en las solicitudes posteriores a cats.example, hasta que venza o se quite. Esto permite que el servidor mantenga información sobre el usuario en varias páginas web o sesiones; por ejemplo, que al usuario se le mostró una imagen de un gato atigrado.


Encabezado Acción Ejemplo Efecto
Respuesta HTTP
Del servidor al navegador
Set‑Cookie El servidor web le pide a tu navegador que almacene una cookie. Set‑Cookie:cat=tabby Tu navegador almacena la cookie y la proporciona en solicitudes posteriores al servidor que la configuró.
Solicitud HTTP
Del navegador al servidor
Cookie Tu navegador proporciona una cookie. Cookie:cat=tabby La cookie está disponible para el servidor que es el destino de la solicitud.

Demostraciones

Herramientas

Más información