ISIS3710- Desarrollo de Aplicaciones Web

ISIS3710 - Desarrollo de Aplicaciones Web

Cliente HTTP : Telnet

Objetivos

  • Practicar el protocolo HTTP a través de la construcción manual de mensaje
  • Entender la importancia de los encabezados para especificar información adicional de un mensaje HTTP
  • Utilizar un cliente HTTP

Introducción

En este laboratorio vamos a establecer una conexión a un servidor HTTP abriendo directamente un socket y enviando mensajes, la idea es conectarnos a un servidor web y utilizando el conocimineto que tenemos del protocolo HTTP vamos enviar peticiones a este servidor.

Preparar el cliente

Antes de empezar debemos descargar el cliente, si se encuentra en un computar basado en UNIX puede utilizar las terminal y el comando telnet <servidor> <puerto> para conectarse. Son embargo esta facilidad no existe en Windows por lo que utilizaremos Putty, este lo puede descargar del siguiente enlace.

Activar el cliente en windows

putty
Telnet ya viene instalado en Máquinas con windows y Máquinas con Mac OS X o linux. Sin embargo en las versiones más recientes de windows no se encuentra activado por defecto. Para activarlo en Windows 7 o superior complete los siguientes pasos:

  1. Entre al menú inicio
  2. Después haga click en panel de control
  3. Enseguida haga click en programas:
    1. Ingrese a la opción Activar o desactivar las características de Windows, bajo Programas y características.
    2. Busque Cliente Telnet y asegúrese de marcarlo. Haga click en ok para instalarlo.
  4. Para probar que ya puede usar el cliente Telnet, ingrese a la línea de comandos de Windows y escriba “telnet /?”. Debe ver las opciones de ayuda para el cliente.

Conectarse a un servidor

Para conectarse a un servidor utilizando telnet debe pasar como parametro la dirección y el puerto de conexión como se muestra a continuación

telnet <dirección ip o dominio> <puerto>

por ejemplo para conectarse al servidor google.com por el pueto 80 el comando sería el siguiente

telnet google.com 80

Una vez se establezca la conexión con el servidor aparecerá como respuesta en la consola:

Trying to connect to :ip
Connected to :ip o dominio
Escape character is ‘^]’.

A partir del momento en que se establece una conexión con el servidor se pueden enviar y recibir mensajes. En nuestro caso particular nos comunicaremos con el servidor utilizando el protocolo HTTP. Puede ver la guía recuerde la estructura de los mensaje vista en la guía HTTP.

Tenga en cuenta que cada salto de línea que haga en la consola enviará los caracteres CRLF automáticamente al servidor.

Ejercicios

Utilizando el cliente Telnet realice las siguientes peticiones:

  1. Búsqueda en google

    Servidor: google.com
    Puerto: 80  
    Petición: GET /search?q=http  HTTP/1.1
    
  2. Búsqueda en youtube

    Servidor: youtube.com
    Puerto: 80  
    Petición: GET /search?q=telnet  HTTP/1.1
    
  3. Ingreso a un recurso de la universidad de Los Andes

    Servidor: uniandes.edu.co
    Puerto: 80  
    Petición: GET /institucional/programas/programas HTTP/1.1
    Host: uniandes.edu.co
    

Preguntas:

  1. ¿Que pasa si cambia la versión del protocolo a HTTP/1.0?

  1. ¿Por qué para hacer la petición a la Universidad de los andes necesitamos poner el Host en el encabezado?

  1. ¿Que pasa si no ponemos Host en el encabezado de la petición a la ¿universidad de Los Andes?