jueves, 15 de septiembre de 2011

Funcionamiento basico del protocolo HTTP

Las siglas HTTP seguramente le resultaran familiares si a hecho uso de algún navegador de Internet, estas siglas se refieren al Protocolo de Transferencia de Hipertexto, el cual forma la base sobre la que operan la gran mayoría de las paginas web en la actualidad.

Es por medio de este protocolo que un navegador de internet puede solicitar a un servidor los diferentes elementos que conforman una pagina web, sean imágenes, funcionen en Javascript,  hojas de estilo CSS y por supuesto documentos creados con el Lenguaje de Marcado de Hipertexto o HTML, estos se descargaran del servidor, se almacenaran en la maquina cliente y serán usados por el navegador de Internet construir la pagina.

El protocolo opera de una manera bastante sencilla de comprender, una vez que se a establecido la comunicación entre el cliente y el servidor, el cliente envía mensajes donde solicita los diferentes elementos que componen la pagina, tras recibir y procesar el mensaje el servidor emite una respuesta acorde.


Los mensajes mas comunes enviados por el cliente son para solicitar que se envíen los componentes de la pagina, estos tienen la cabecera en el formato


GET <elemento> <versión_http>


Como se puede apreciar en la Figura 1.

Figura 1: Cabecera de la solicitud GET.


En el caso particular de la Figura 1 el cliente esta solicitando un archivo ubicado en "/2008/site/images/search-button" por medio de la vercion 1.1 del protocolo HTTP.

Una vez que el servidor HTTP recibe este paquete procesa la solicitud y responde con enviando un paquete con cabecera en el formato

HTTP/<versión_http> <código>

La sección <código> en particular puede tomar varios valores dependiendo del resultado de la solicitud los valores mas comunes que puede tomar se muestran a continuación.


  • 200 OK: Solicitud exitosa, al final del paquete habrá una sección que contiene los datos solicitados.
  • 301 Moved Permanently: los datos solicitados han sido reubicados, la cabecera “Location” contiene la nueva dirección, tras recibir esta respuesta el cliente ajusta las siguientes peticiones de manera adecuada.
  • 400 Bad Request: El servidor no comprendio la solicitud del cliente.
  • 404 Not Found: El elemento solicitado no fue encontrado.
  • 505 HTTP Version not suported: La version de http solicitada por el cliente no es soportada por el servidor.
En la mayoría de las situaciones la respuesta sera 200 OK, esta a su vez tiene un efecto en el paquete ya que agrega una sección extra.


Figura 2: Respuesta del servidor HTTP.
Como puede observarse  en la Figura 2, la cabecera HTTP tiene la respuesta 200 OK, indicando que la solicitud fue exitosa, un par de lineas mas abajo puede leerse
"Content-Location: search-button.png"
Esta linea le indica al cliente que el archivo que corresponde a su solicitud tiene el nombre "search-button.png", el contenido de este archivo se localiza en la ultima sección del paquete, que para el caso particular de la figura 2 indica es un archivo en el formato Portable Network Graphics, el contenido de esta ultima sección sera almacenado por el navegador para mostrar esa imagen, este mismo proceso se repite con los demás archivos que envié el servidor.

No hay comentarios:

Publicar un comentario