- El protocolo HTTP

HTTP es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los navegadores web y los servidores web. Fue propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribución de información como la World Wide Web. En la web los servidores han de escuchar en el puerto 80, esperando la conexión de algún cliente web.

 

  video[Tutorial] El protocolo HTTP

A continuación describimos los pasos habituales que se siguen en una interacción del protocolo:

1)   El usuario quiere acceder a la página http://www.upv.es/dir/pag.html. Para lo cual pincha en un enlace de un documento HTML o introduciendo directamente en el campo Dirección del navegador Web.

2)   El navegador averigua la dirección IP de www.upv.es.

3)   El navegador establece una conexión con el puerto 80 de esta IP.

4)   El navegador envía por esta conexión (¿ carácter de salto de línea):

GET /dir/pag.html

5)   El servidor envía la página a través de la conexión:

    <HTML>

         <HEAD>

         <TITLE>Página de ... </TITLE>

         ...

         </HTML>

 

6)   El servidor cierra la conexión.

Este proceso se repite cada vez que el navegador necesita un fichero del servidor. Por ejemplo, si se ha bajado un documento HTML en cuyo interior están insertadas cuatro imágenes, el proceso anterior se repite un total de cinco veces, una para el documento HTML y cuatro para las imágenes.

Como ves, se trata de un protocolo sin estado. Cada petición contiene la información necesaria para ser atendida. Si deseamos mantener un estado tendrá que ser implementado usando algún mecanismo adicional (por ejemplo las cookies).

Ejercicio paso a paso: Estudio del protocolo HTTP/0.9 utilizando el comando Telnet.

1.     Abre un navegador web y accede a la página:

http://www.dcomg.upv.es/~jtomas/corta.html

En caso de que el servidor no responda, puedes realizar el ejercicio con cualquier página de otro servidor. El carácter ~ se obtiene pulsando simultáneamente <Alt Gr> y <4>.

2.     Visualiza el contenido HTML de la página (menú “Ver/Código fuente”, “Herramientas/ Ver código fuente”, o similar).

3.     Desde un intérprete de comandos (símbolo del sistema/shell) escribe:

telnet www.dcomg.upv.es 80

Este comando permite establecer una conexión TCP con el puerto 80 del servidor. A partir de ahora todo lo que escribas será enviado al servidor (aunque en mucho casos no lo veas en pantalla) y todo lo que el servidor envíe será impreso en pantalla..

NOTA: Si utilizas un servidor diferente, asegúrate de que soporta la versión HTTP/0.9.

 

4.     Cuando se establezca la conexión teclea exactamente:

GET /~jtomas/corta.html

Si te equivocas no uses la tecla de borrar. En tal caso, repite el ejercicio desde el punto 3.

5.   Observa que la respuesta obtenida coincide con el contenido HTML del paso 2.