Solicitud y respuesta HTTP

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

  • Cuando visitas una página web, el navegador envía solicitudes HTTP para los recursos de la página, como HTML, CSS, JavaScript y las 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 mítico sitio web 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 estadísticas de analytics.example y otras solicitudes de recursos adicionales de otros dominios.

Las solicitudes HTTP se pueden mejorar 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, en este caso, 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 algún otro dato. Así como 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 con una respuesta le indica al navegador que almacene un 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.

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 se le mostró al usuario una imagen de un gato atigrado.


Encabezado Acción Ejemplo Efecto
Respuesta HTTP
Del servidor al navegador
Set‑Cookie El servidor web le pide al 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 se pone a disposición del servidor que es el destino de la solicitud.

Demostraciones

Herramientas

Más información