Programación Web I - ISC - UCQ - Presentación 03

268 views
200 views

Published on

Programación Web I - ISC - UCQ - Presentación 03

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
268
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programación Web I - ISC - UCQ - Presentación 03

  1. 1. PROGRAMACIÓN WEB I Hypertext Transfer Protocol o HTTP (protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium (W3C) y la Internet Engineering Task Force, colaboración que culminó en 1999.
  2. 2. PROGRAMACIÓN WEB I HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (navegador web) se lo conoce como "user agent" (agente del usuario).
  3. 3. PROGRAMACIÓN WEB I A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc. Por ejemplo: http://www.google.com.mx/search?site=&q=ucq&btnG=Buscar
  4. 4. PROGRAMACIÓN WEB I Un Uniform Resource Identifier o URI (identificador uniforme de recurso) es una cadena de caracteres, de una longitud preferentemente corta, que identifica inequívocamente un recurso en Internet. URI = Localización del recurso (URL) + Nombre del recurso (URN)
  5. 5. PROGRAMACIÓN WEB I Un URI consta de las siguientes partes: • Esquema: Identifica el protocolo de acceso al recurso. • Autoridad: Identifica la autoridad de nombres (dominio). • Ruta: Autoridad jerárquica de nombres (carpetas o archivo). • Consulta: Estructura en pares no jerárquica (clave=valor). Comienza con el carácter ‘?’ y se unen con ‘&’ • Fragmento: Permite identificar una parte del recurso principal. Comienza con el carácter ‘#’ seguido del nombre del fragmento.
  6. 6. PROGRAMACIÓN WEB I http://www.google.com.mx/search?site=&q=ucq&btnG=Buscar Esquema Autoridad Ruta Consulta http://www.ucq.edu.mx/ Esquema Autoridad
  7. 7. PROGRAMACIÓN WEB I HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores, sin embargo el desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web mantener una sesión y también rastrear usuarios, ya que las cookies pueden guardarse en el equipo del cliente por un tiempo indeterminado.
  8. 8. PROGRAMACIÓN WEB I Una transacción HTTP está formada por un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará cosas como la acción requerida del servidor, o el tipo de dato retornado, o el código de estado. El uso de campos de encabezados enviados en las transacciones HTTP le dan gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e identificación de usuario.
  9. 9. PROGRAMACIÓN WEB I Para obtener un recurso de www.midominio.com/index.html, se abre una conexión al host www.midominio.com, puerto 80 que es el puerto por defecto para HTTP. Posteriormente se envía el siguiente mensaje: GET /index.html HTTP/1.1 Host: www.midominio.com User-Agent: nombre-cliente [Línea en blanco]
  10. 10. PROGRAMACIÓN WEB I La respuesta del servidor está formada por encabezados seguidos del recurso solicitado, en el caso de una página web: HTTP/1.1 200 OK Date: Fri, 9 Sep 2013 19:36:12 GMT Content-Type: text/html Content-Length: 512 <html> <body> <h1>Título</h1> ... </body> </html>

×