Professional Documents
Culture Documents
Facultad de Ciencias y Tecnologas Departamento de Computacin APLICACIONES TELEMTICAS TEMA III: EL PROTOCOLO HTTP
Len, Nicaragua
hiperenlaces.
Objetos: Pueden residir o no en el mismo Host. Direccionado: URL: Uniform Resource Locator. Entidades funcionales: Navegador,
Servidor WEB.
Protocolo HTTP.
Elementos de la Arquitectura Web 4. Navegador Agente de Usuario Software que sirve de interfaz entre usuario y aplicacin WEB. Posibilita atrapar y visualizar pginas WEB, y navegar por sus contenidos. Presentan diferentes caractersticas de configuracin. Cliente HTTP Software de comunicacin que implementa la parte cliente del protocolo HTTP.
Mensajes en HTTP
Los mensajes HTTP pueden ser: Solicitudes. Respuestas. Tanto las solicitudes como las respuestas utilizan el formato genrico de emails (RFC-822). Ambos tipos de mensajes consisten de: Una lnea inicial Cero o ms encabezados (headers) Una lnea en blanco Un cuerpo del mensaje (opcional, ej. archivo, datos de una consulta).
Mensajes en HTTP
El Mtodo POST
El mtodo POST se usa comnmente para enviar un formulario HTML a un script que se ejecuta en el servidor. En este caso se utilizan Content-Type y Content-Lenght. Ejemplo (enviar las variables nombre=Juan y Apellido=Perez): POST /directorio/script.cgi HTTP/1.0 User-Agent: TuBrowser/1.7 Content-Type: application/x-www-form-urlencoded Content-Length: 26 nombre=Juan&Apellido=Perez
Conexiones Persistentes
La pareja de cabeceras Keep-Alive y Connection, slo est presente en la versin 1.1 del protocolo HTTP, y permite recibir muchos recursos a travs de la conexin TCP recin establecida. El servidor puede incluir el encabezado Connection: close para indicar que luego de enviar la respuesta el servidor debe cerrar la conexin. Un cliente que no soporta conexiones persistentes debe incluir siempre el encabezado Connection: close.
Cache Web
Procedimiento para mejorar las prestaciones del servicio WEB, posibilitando: Reducir el tiempo de obtencin de un objeto, en particular si su tamao es grande y se dispone de poco ancho de banda de acceso. Reducir el trfico WEB y la carga de trabajo de los servidores WEB. Se basa en el almacenaje en cach de copias de objetos obtenidos En el cliente WEB, y lo gestiona el Navegador En un servidor de red actuando de intermediario, un Proxy WEB El problema es como saber si el objeto que se tiene en en cach del no ha sido actualizado en el servidor WEB.
GET Condicional
Garantiza la actualidad de los objetos recibidos en el Navegador mediante cach. Al solicitar la pgina la primera vez se solicita y se guarda la pgina en la cache, almacenando el valor Last-Modified. HTTP/1.1 200 OK Date: Sun, 19 Jan 2003 18:55:49 GMT Server: Apache/2.0.40 (Red Hat Linux) Last-Modified: Wed, 18 Dec 2002 12:11:06 GMT ETag: "27ae90-44-9221aa80 Content-Length: 68 Connection: close Content-Type: text/html <html> <!- codigo de la pgina -->
GET Condicional
Cuando la pgina es solicitada nuevamente: El GET incluye la cabecera If-Modified-Since. Si la respuesta ha sido modificada se transmite la entidad con cdigo de estado 200. Si la respuesta no ha sido modificada no se transmite la entidad y se enva un cdigo de estado 304. GET //css/contenidos.css HTTP/1.1 . If-Modified-Since: Fri, 23 Jun 2006 08:45:05 GMT
HTTP/1.1 304 Not Modified Date: Fri, 25 Aug 2006 13:49:41 GMT Server: Apache/2.0.54 (Ubuntu) PHP/5.0.5-2ubuntu1.3
Las Cookies
Son pequeos trozos de informacin que:
El servidor la enva al cliente
El navegador la almacena
El navegador la enva en cada peticin y el servidor La usa para dar una respuesta selectiva
Ejemplo de Cookies
El Servidor crea la Cookies: HTTP/1.1 200 OK Date: Fri, 25 Aug 2006 08:10:54 GMT Server: Apache Set-Cookie: JSESSIONID=82818520216567447A4FFA18D02F8A9D;Path=/ El Cliente enva la Cookies en cada peticin:
GET /nada.jsp HTTP/1.1\r\n Host: www.lne.es\r\n Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n Keep-Alive: 300\r\n Connection: keep-alive\r\n Cookie: __utma=184110843.1800093202.1155130588.1156405623.1156489485.10; JSESSIONID=82818520216567