Capitulos de este wiki
  1. 1 Http/1.1
  2. 2 Cgi

1 - Http/1.1

[editar]
Curso gratis creado por Carlos Castillo. Extraido de: http://www.tejedoresdelweb.com/307/article-1856.html
18 de Octubre de 2005
RFC2616 reemplaza a RFC 1945. El protocolo HTTP es:

  1. Stateless
  2. .Extensible, por medio de cambios en los encabezados, requests y respuestas
  3. Involucra negociación entre cliente y servidor

Lo importante de HTTP/1.0 es su soporte para tipos MIME, pero no toma en cuenta ni proxies, ni caching, ni conexiones persistentes o virtual hosts. HTTP/1.1 por otra parte implementa estas características, pero cuenta con una conección perfecta y no hace corrección de errores.

El uso normal es un UserAgent que envía una cadena de requerimiento, y recibe una cadena de respuesta, o un stream. Entre ellos pueden haber proxies, gateways o túneles.

Subcomponentes

Básicos:

  1. Paso de versión del protocolo (también: sirve para backwards compatibility).
  2. Incluye URLs, y cual es la forma normal de una URL.
  3. Formato para fechas y para deltas de tiempo.

Negociación de cotenido:

  1. Sets de caracteres y codificaciones (ej.: compresión).
  2. Soporte para tipos MIME
  3. Lenguajes

Y algunos componentes más esotéricos:

  1. Quality values (algunas restricciones son más importantes que otros)ej.: de Mozilla 0.9.2: "HTTP_ACCEPT_CHARSET = ISO-8859-1, utf-8;q=0.66, *;q=0.66"
  2. Chunked transfers (rangos).

Mensajes

Los mensajes tienen varios encabezados de la forma nombre=valor y un cuerpo de mensaje. Se dividen en mensajes de requerimiento y mensajes de respuesta.

Existen algunos encabezados compartidos:

  1. Cache-Control
  2. Connection (close,persistent)
  3. Date
  4. Pragma

Request messages

Comienzan con una línea del tipo "MÉTODO URL VERSION", como "GET / HTTP/1.1". A continuación siguen normalmente uno o varios de los siguientes encabezados:

  1. Host (para virtualhosts)
  2. Authorization (para suplir credenciales)
  3. Accept-* (aceptar lenguaje, mime, etc.)
  4. User-Agent (identificar el browser)

Response messages

Comienzan con una línea del tipo "VERSIÓN CÓDIGO MENSAJE", como "HTTP/1.1 200 OK". Los códigos se agrupan por familias, de la siguiente manera:

  • 1xx: Informacional, continuar.
  • 2xx: Ok
  • 3xx: Ok, pero ... ej. Redirect
  • 4xx: Requerimiento con errores ej.: Not Found
  • 5.5xx: Respuesta con errores ej.: Server Error

Las aplicaciones deben entender al menos el primer dígito de la respuesta. Pueden no entender el resto, y eso da mucha flexibilidad al protocolo (ej.: un programa de ajedrez entre un cliente y un servidor: 285 jugada aceptada, 482 jugada ilegal, 196 estoy pensando, 387 jaque mate)

Conección persistente

Pipelining, negociación de conección persistente. Además HTTP/1.1 incluye un protocolo de caching y un modelo de expiración para ese caching, que indica si la expiración debe ser explícita, implícita, etc.
[editar]

Sé el primero en opinar


Cursos gratis relacionados con 'Protocolos que componen el Web'

Estos son los protocolos o acuerdos tecnológicos que sustentan la Web.
Se discuten SSH, SSL, TSL y HTTPS, los protocolos utilizados en la actualidad para intercambiar... Más »
Jakarta es un nuevo paso dentro del desarrollo de la tecnología orientada a software de... Más »
WiFI describe los productos de WLAN basados en los estándares 802. 11 y está pensado... Más »
Para tener una presencia efectiva en la red hace falta contar con lo que podríamos... Más »

Autor y licencia de 'Protocolos que componen el Web'


Curso gratis de Carlos Castillo. Extraido de: http://www.tejedoresdelweb.com/307/article-1856.html CopyLeft
Los contenidos de este sitio pueden ser reproducidos solamente bajo estas condiciones. La licencia está respaldada con el registro de propiedad intelectual número 97.125 en Chile y otros países.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.