0% encontró este documento útil (0 votos)
131 vistas6 páginas

Hypertext Transfer Protocol

El protocolo HTTP es el protocolo fundamental subyacente de la World Wide Web. Permite la transferencia de hipertexto entre un cliente (como un navegador web) y un servidor. Define la sintaxis y semántica para la comunicación entre clientes, servidores y proxies. Es un protocolo sin estado que sigue el esquema de petición-respuesta. Las versiones más comunes son HTTP/1.0 y HTTP/1.1.

Cargado por

Moisés Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
131 vistas6 páginas

Hypertext Transfer Protocol

El protocolo HTTP es el protocolo fundamental subyacente de la World Wide Web. Permite la transferencia de hipertexto entre un cliente (como un navegador web) y un servidor. Define la sintaxis y semántica para la comunicación entre clientes, servidores y proxies. Es un protocolo sin estado que sigue el esquema de petición-respuesta. Las versiones más comunes son HTTP/1.0 y HTTP/1.1.

Cargado por

Moisés Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Hypertext Transfer Protocol

(Redirigido desde HTTP)


Hypertext Transfer Protocol
(HTTP)

Familia: Familia de protocolos de Internet

Función: Transferencia de hipertexto

Última versión: 1.2

Puertos: 80/TCP

Ubicación en la pila de protocolos


Aplicación HTTP
Transporte TCP
Red IP

Estándares: RFC 1945 (HTTP/1.0, 1996)


RFC 2616 (HTTP/1.1, 1999)
RFC 2774 (HTTP/1.2, 2000)

El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer


Protocol) es el protocolo usado en cada transacción de la Web (WWW).
HTTP fue desarrollado por el consorcio W3C y la IETF, colaboración que
culminó en 1999 con la publicación de una serie de RFC, 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 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
(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
[mostrar]

Transacciones HTTP [editar]


Una transacción HTTP consiste de 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.
Un encabezado es un bloque de datos que precede a la información
propiamente dicha, por lo que muchas veces se hace referencia a él como
metadato —porque tiene datos sobre los datos—.
Si se reciben líneas de encabezado del cliente, el servidor las coloca en las
variables de ambiente de CGI con el prefijo HTTP_ seguido del nombre del
encabezado. Cualquier carácter guión ( - ) del nombre del encabezado se
convierte a caracteres "_".
El servidor puede excluir cualquier encabezado que ya esté procesado,
como Authorization, Content-type y Content-length. El servidor puede elegir
excluir alguno o todos los encabezados si incluirlos excede algún límite del
ambiente de sistema. Ejemplos de esto son las variables HTTP_ACCEPT y
HTTP_USER_AGENT.

← HTTP_ACCEPT. Los tipos MIME que el cliente aceptará, dado los


encabezados HTTP. Otros protocolos quizás necesiten obtener esta
información de otro lugar. Los elementos de esta lista deben estar
separados por una coma, como lo dice la especificación HTTP: tipo, tipo.

← HTTP_USER_AGENT. El navegador que utiliza el cliente para


realizar la petición. El formato general para esta variable es:
software/versión librería/versión.

El servidor envía al cliente:

← Un código de estado que indica si la petición fue correcta o no. Los


códigos de error típicos indican que el archivo solicitado no se encontró, que
la petición no se realizó de forma correcta o que se requiere autenticación
para acceder al archivo.
← La información propiamente dicha. Como HTTP permite enviar
documentos de todo tipo y formato, es ideal para transmitir multimedia,
como gráficos, audio y video. Esta libertad es una de las mayores ventajas
de HTTP.
← Información sobre el objeto que se retorna.

Ten en cuenta que la lista no es una lista completa de los campos de


encabezado y que algunos de ellos sólo tienen sentido en una dirección.

Versiones [editar]
HTTP ha pasado por múltiples versiones del protocolo, muchas de las
cuales compatibles con las anteriores. El RFC 2145 describe el uso de los
números de versión de HTTP. El cliente le dice al servidor al principio de la
petición la versión que usa, y el servidor usa la misma o una anterior en su
respuesta.
0.9
Obsoleta. Soporta sólo un comando, GET, y además no especifica el
número de versión HTTP. No soporta cabeceras. Como esta versión no
soporta POST, el cliente no puede enviarle mucha información al servidor.
HTTP/1.0 (mayo 1996)
Esta es la primera revisión del protocolo que especifica su versión en las
comunicaciones, y todavía se usa ampliamente, sobre todo en servidores
proxy.
HTTP/1.1 (junio 1999)1 2
Versión actual; las conexiones persistentes están activadas por defecto y
funcionan bien con los proxies. También soporta peticiones en paralelo
(pipelining), permitiendo enviar múltiples peticiones a la vez, lo cual hace
que el servidor pueda prepararse para una sobrecarga de trabajo y servir
las solicitudes más rápidamente al cliente.
HTTP/1.2
Los primeros borradores de 1995 del documento PEP — an Extension
Mechanism for HTTP (el cuál propone el Protocolo de Extensión de
Protocolo, abreviado PEP) los hizo el World Wide Web Consortium y se
envió al Internet Engineering Task Force. El PEP inicialmente estaba
destinado a convertirse en un rango distintivo de HTTP/1.2. 3 En borradores
posteriores, sin embargo, se eliminó la referencia a HTTP/1.2. El RFC 2774
(experimental), HTTP Extension Framework, incluye en gran medida a PEP.
Se publicó en febrero de 2000.
Ejemplo de un diálogo HTTP [editar]
Para obtener un recurso con el URL http://www.tuhost.example/index.html

1. Se abre una conexión al host www.tuhost.example, puerto 80 que es


el puerto por defecto para HTTP.
2. Se envía un mensaje en el estilo siguiente:

GET /index.html HTTP/1.1


Host: www.example.com
User-Agent: nombre-cliente
[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

<html>
<body>
<h1>Página principal de tuHost</h1>
(Contenido)
.
.
.
</body>
</html>

Herramientas de Software libre [editar]


← 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

Primeros Servidores [editar]


← CERN httpd Server
← NCSA httpd server
← Compuserve httpd server

Códigos de respuesta [editar]


Son códigos de tres dígitos:

← 1xx Mensajes

N° - 100 111 Conexión rechazada


← 2xx Operación exitosa

N° 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

N° Descripción
300 Múltiples posibilidades
301 Mudado permanentemente
302 Encontrado
303 Vea otros
304 No modificado
305 Utilice un proxy
307 Redirección temporal
← 4xx Error por parte del cliente

N° 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

N° 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

También podría gustarte