Como bien conocerá el lector, uno de los protocolos más utilizados en Internet es HTTP (HyperText Transfer Protocol o protocolo de transferencia de bipertextos), que es precisamente el protocolo que se emplea en la World Wide Web fundamentalmente para la transferencia de documentos HTML e imágenes entre clientes (navegadores) y servidores web. Para desarrollar aplicaciones basadas en arquitecturas web es aconsejable conocer los mecanismos por los cuales funciona este importantísimo servicio que hoy conocernos como web o www, y uno de estos mecanismos fundamentales es el protocolo HTTP.
El protocolo HTTP1 es un protocolo del nivel de aplicación orientado hacia la comunicación entre sistemas de información distribuidos, colaborativos e hipermedia. El sistema se basa en el envío de mensajes entre un cliente (habitualmente un navegador web) y un servidor. Dichos mensajes son la unidad básica de la comunicación HTTP. El cliente es siempre quien inicia la comunicación, y para ello envía un mensaje que contiene una petición,
a lo que el seividor contesta con otro que contiene la respuesta.
Cada mensaje (tanto las solicitudes como las respuestas) está formado por dos partes: la cabecera y el cuerpo del mensaje. La cabecera se separa del cuerpo del mensaje por una línea vacía, esto es, la cabecera no puede contener líneas en blanco, puesto que esto sería interpretado como el comienzo del cuerpo del mensaje. Por su parte, la primera línea de la cabecera es una línea de solicitud (en las peticiones) o una línea de estado (en las respuestas).
En la cabecera de un mensaje se define información acerca de su contenido. Así, por ejemplo, se define el tipo de mensaje, el tipo MIME2 del contenido, el tamaño de dicho contenido, etc. La estructura de cada línea consiste en un nombre de campo seguido del carácter dos puntos (:) y el valor asociado a dicho campo. Estos campos permiten añadir una importante característica al protocolo HTTP: la negociación de los tipos y la representación de contenidos entre cliente y servidor.
En el cuerpo del mensaje (si es que existe, ya que un mensaje puede consistir sólo en una cabecera) se incluye la información transmitida entre cliente y servidor. Por ejemplo, cuando un servidor web recibe una solicitud de un documento HTML, le envía un mensaje de respuesta al cliente con una cabecera en la que le indica el tipo de contenido, la fecha, el tipo de servidor, la longitud del mensaje...; a continuación, una línea en blanco, y después, el cuerpo del mensaje con la página HTML solicitada. En Figura inferior puede observarse un ejemplo de mensaje de respuesta enviado por un servidor web a un cliente. En la primera línea de este ejemplo se puede ver que el servidor contesta indicando un código de estado 200 (la solicitud ha sido correctamente realizada); después, unas cuantas líneas con parejas noníbre_cle_campo: v a l o r _ a s o c i a d o ; a continuación, la línea vacía que separa la cabecera del cuerpo del mensaje, y acto seguido, el cuerpo del mensaje, que contiene el documento HTML solicitado.
Observe un detalle importante: el campo C o n n e c t i o n , que tiene el valor close. Esto indica que la conexión ha finalizado. Si hasta ahora no había programado en entornos web, este concepto es importante: una vez que el servidor envía la respuesta a una petición, la conexión se cierra. Este importante detalle hace que la lógica de las aplicaciones web sea bastante distinta a la lógica de las aplicaciones con interfaz directa con el usuario. Las aplicaciones web se construyen como una secuencia de pequeñas fases individuales, siendo preciso el envío de todos los datos necesarios entre las distintas fases de la aplicación.





No response to “HTTP: CONCEPTOS BÁSICOS”
Publicar un comentario