Generalidades del protocolo HTTP
HTTP, de sus siglas en inglés: "Hypertext Transfer Protocol", es el nombre de un
protocolo el cual nos permite realizar una petición de datos y recursos, como pueden ser
documentos HTML. Es la base de cualquier intercambio de datos en la Web, y un
protocolo de estructura cliente-servidor, esto quiere decir que una petición de datos es
iniciada por el elemento que recibirá los datos (el cliente), normalmente un navegador
Web. Así, una página web completa resulta de la unión de distintos sub-documentos
recibidos, como, por ejemplo: un documento que especifique el estilo de maquetación
de la página web (CSS), el texto, las imágenes, vídeos, scripts, etc...
Clientes y servidores se comunican intercambiando mensajes individuales (en
contraposición a las comunicaciones que utilizan flujos continuos de datos). Los
mensajes que envía el cliente, normalmente un navegador Web, se llaman peticiones, y
los mensajes enviados por el servidor se llaman respuestas.
Arquitectura de los sistemas basados en HTTP
HTTP es un protocolo basado en el principio de cliente-servidor: las peticiones son
enviadas por una entidad: el agente del usuario (o un proxy a petición de uno). La
mayoría de las veces el agente del usuario (cliente) es un navegador Web, pero podría
ser cualquier otro programa, como por ejemplo un programa-robot, que explore la Web,
para adquirir datos de su estructura y contenido para uso de un buscador de Internet.
Cada petición individual se envía a un servidor, el cuál la gestiona y responde. Entre
cada petición y respuesta, hay varios intermediarios, normalmente
denominados proxies (en-US), los cuales realizan distintas funciones, como: gateways
o caches.
En realidad, hay más elementos intermedios, entre un navegador y el servidor que
gestiona su petición: hay otros tipos de dispositivos: como routers, modems ... Es
gracias a la arquitectura en capas de la Web, que estos intermediarios, son transparentes
al navegador y al servidor, ya que HTTP se apoya en los protocolos de red y
transporte. HTTP es un protocolo de aplicación, y por tanto se apoya sobre los
anteriores. Aunque para diagnosticar problemas en redes de comunicación, las capas
inferiores son irrelevantes para la definición del protocolo HTTP .