HTTP

Recomendar esta página Ver en PDF Imprimir esta página
Wiki de astronomía.
Todo el poder de la Wikipedia y toda la esencia de la astronomía

Hypertext Transfer Protocol

De Wikipedia, la enciclopedia libre

(Redirigido desde HTTP)

El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW). HTTP fue desarrollador por el consorcio W3C y la IETF, colaboración que culminó en 1999 con la publicación de una serie de RFCs, siendo el más importante de ellos el RFC 2616, que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquiectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transaciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectua la petición (un navegador o un spider) se lo conoce como “user agent” (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un 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.

HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. 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 instituir la noción de “sesión”, y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.

Tabla de contenidos

[editar] Transacciones HTTP

El protocolo HTTP está basado en el modelo cliente-servidor. Un cliente HTTP abre una conexión y envía su solicitud al servidor, el cual responderá con el recurso solicitado ?si está disponible y su acceso es permitido? y la conexión se cierra y sirve para conectarse a algunas paginas

El formato tanto del mensaje como de la respuesta es como sigue (separando las líneas con la secuencia retorno de carronueva línea):

 
 Cabecera-1: valor-1
 ...(Common Object Interface Generator)
 Cabecera-n: valor-n

 

La línea inicial es diferente en las solicitudes y en las respuestas. En las solicitudes está formada por tres campos que se separan con un espacio en blanco: “Método recurso versión-del-protocolo”. Por ejemplo: “GET /path/to/file/index.html HTTP/1.1”. La línea inicial de una respuesta tiene tres campos separados por un espacio: “versión-del-protocolo código-respuesta mensaje”. Por ejemplo: “HTTP/1.1 200 OK”.

Los encabezados están normados en el protocolo, e incluyen, en el caso de una solicitud, información del navegador y eventualmente del usuario cliente; En el caso de una respuesta, información sobre el servidor y sobre el recurso. El cuerpo del mensaje contiene el recurso a transferir o el texto de un error en el caso de una respuesta. En el caso de una solicitud, puede contener parámetros de la llamada archivos enviados al servidor. http//www:[email protected]

[editar] Ejemplo de un diálogo HTTP

Para obtener un recurso con el URL http://www.tuhost.example/index.html

  1. Se abre un

con el host www.tuhost.example, puerto 80 que es el puerto por defecto para HTTP.

  1. Se envía un mensaje en el estilo siguiente:
 GET /index.html HTTP/1.1
 Host: www.example.com
 User-Agent: HTTPTool/1.0
 Connection: close
 [Línea en blanco]



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, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221



Página principal de tuHost

(Contenido) . . .

[editar] Herramientas de Software libre

  • Apache httpd server Apache ha sido el servidor web más difundido desde 1996. La encuesta de Netcraft de abril de 2005, muestra que alrededor del 70% de los servidores web utilizan Apache, y la parte de mercado crece de año en año.
  • Jigsaw - W3C's Server
  • Roxen
  • Zope : Un poderoso servidor web implementado en python con soporte para conexiones a bases de datos, extensibilidad sencilla y administración vía web.

[editar] Primeros Servidores

[editar] Códigos de respuesta

Son códigos de tres dígitos:

  • 1xx Mensajes
- 100 111 Conexión rechazada
  • 2xx Operación exitosa
Descripción
200 OK
201-203 Información no oficial
204 Sin Contenido
205 Contenido para recargar
206 Contenido parcial
  • 3xx Redirección hacia otro URL
Descripción
300 Múltiples posibilidades
301 Mudado permanentemente
303 Vea otros
304 No modificado
305 Utilice un proxy
307 Redirección temporal
  • 4xx Error por parte del cliente
Descripción
400 Solicitud incorrecta
401 No autorizado
402 Pago requerido
403 Prohibido
404 No encontrado
405 Método no permitido
406 No aceptable
407 Proxy requerido
408 Tiempo de espera agotado
409 Conflicto
410 Ya no disponible
411 Requiere longitud
412 Falló precondición
413 Entidad de solicitud demasiado larga
414 URL de solicitud demasiado largo
415 Tipo de medio no soportado
416 Rango solicitado no disponible
417 Falló expectativa
  • 5xx Error por parte del servidor
Descripción
500 Error interno
501 No implementado
502 Pasarela incorrecta
503 Servicio no disponible
504 Tiempo de espera de la pasarela agotado
505 Versión de HTTP no soportada

[editar] Enlaces externos

Scroll to Top