Protocolo HTTP

Anuncio
Práctica #01 Protocolo HTTP
Programación Web y Objetos Distribuidos
Protocolo HTTP
Práctica #01
Introducción:
HTTP es un protocolo de comunicación de transferencia de Hipertexto, define la semántica y la
sintaxis que utilizan los elementos de software de la arquitectura Web. Es protocolo orientatado a
conexión, no es persistente, por lo tanto no guarda estado.
Comúnmente utilizamos un navegador Web para poder ver el hipertexto que es regresado
después de una petición, pero tratándose de un protocolo que utiliza TCP, podemos realizar
peticiones prográmaticamente y obtener el hipertexto.
Java tiene librerías para poder realizar programas que hagan peticiones y manejar respuestas,
desde las propias librerías estándar del JDK hasta librerías ajenas a esta. En esta práctica
utilizaremos las librerías propias y las librerías del proyecto Apache (HTTP Components) para
programar un sencillo cliente HTTP.
Actividades:
1) Con las librerías de la JDK java.net, programar un cliente HTTP, el cual haga una petición a
una URL utilizando el método GET, la respuesta obtenida la imprima en la salida estándar,
además de guardarla en un archivo de texto. Implementar además manejo de códigos de
respuesta. O sea para cuando el código sea 200 imprimir y guardar, sino responder con el
código de error.
2) Hacer lo anterior pero utilizando la librería de Apache HTTP Components (http://hc.apache.org/
downloads.cgi).
3) Investigar la diferencia entre URI y URL.
4) ¿Para que sirve la herramienta “curl”, y citar un ejemplo de uso?
5) Modificar el programa del primer inciso y recuperar las cabeceras de respuesta.
6) ¿Para la petición con que nombre de cabecera le puedo “engañar” al servidor diciendo que mi
cliente es un navegador?
Descargar