Académique Documents
Professionnel Documents
Culture Documents
Hypertext Transfer Protocol o HTTP (en espaol protocolo de transferencia de hipertexto) es el protocolo usado en cada transaccin de la World Wide Web. HTTP
fue desarrollado por el World Wide Web Consortium y la
Internet Engineering Task Force, colaboracin que culmin en 1999 con la publicacin de una serie de RFC,
el ms importante de ellos es el RFC 2616 que especica la versin 1.1. HTTP dene la sintaxis y la semntica
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 peticin-respuesta entre un cliente y un servidor. Al
cliente que efecta la peticin (un navegador web o un
spider) se lo conoce como user agent (agente del usuario). A la informacin transmitida se la llama recurso y se
la identica mediante un localizador uniforme de recursos (URL). El resultado de la ejecucin de un programa,
una consulta a una base de datos, la traduccin automtica de un documento, etc.
HTTP es un protocolo sin estado, es decir, que no guarda ninguna informacin sobre conexiones anteriores. El
desarrollo de aplicaciones web necesita frecuentemente
mantener estado. Para esto se usan las cookies, que es in- El servidor enva al cliente:
formacin que un servidor puede almacenar en el sistema
Un cdigo de estado que indica si la peticin fue cocliente. Esto le permite a las aplicaciones web instituir la
rrecta o no. Los cdigos de error tpicos indican que
nocin de sesin, y tambin permite rastrear usuarios ya
el archivo solicitado no se encontr, que la peticin
que las cookies pueden guardarse en el cliente por tiempo
no se realiz de forma correcta o que se requiere auindeterminado.
tenticacin para acceder al archivo.
Transacciones HTTP
4 MTODOS DE PETICIN
Un pedido HTTP usando telnet. El pedido (request), cabeceras de respuesta (response headers) y el cuerpo de la respuesta
(response body) estn resaltados.
sobre el recurso identicado. Lo que este recurso representa, si los datos pre-existentes o datos que se generan de
HTTP/1.2 Los primeros borradores de 1995 del docu- forma dinmica, depende de la aplicacin del servidor. A
mento PEP an Extension Mechanism for HTTP menudo, el recurso corresponde a un archivo o la salida
(el cul propone el Protocolo de Extensin de Pro- de un ejecutable que residen en el servidor.
tocolo, abreviado PEP) los hizo el World Wide Web
Consortium y se envi al Internet Engineering Task
HEAD Pide una respuesta idntica a la que corresponForce. El PEP inicialmente estaba destinado a condera a una peticin GET, pero sin el cuerpo de la
vertirse en un rango distintivo de HTTP/1.2.[3] En
respuesta. Esto es til para la recuperacin de metaborradores posteriores, sin embargo, se elimin la
informacin escrita en los encabezados de respuesta,
referencia a HTTP/1.2. El RFC 2774 (experimensin tener que transportar todo el contenido.
tal), HTTP Extension Framework, incluye en gran
medida a PEP. Se public en febrero de 2000.
GET Pide una representacin del recurso especicado.
Por seguridad no debera ser usado por aplicaciones
que causen efectos ya que transmite informacin a
3 Ejemplo de un dilogo HTTP
travs de la URI agregando parmetros a la URL.
La peticin puede ser simple, es decir en una linea
Para obtener un recurso con el URL http://www.
o compuesta de la manera que muestra el ejemplo.
example.com/index.html
Ejemplo:
1. Se abre una conexin al host www.example.com,
GET /images/logo.png HTTP/1.1 obtiene un recurso
puerto 80 que es el puerto por defecto para HTTP.
llamado logo.png
2. Se enva un mensaje en el estilo siguiente:
Ejemplo con parmetros:
GET /index.html HTTP/1.1 Host: www.example.com
/index.php?page=main&lang=es
User-Agent: nombre-cliente [Lnea en blanco]
La respuesta del servidor est formada por encabezados
seguidos del recurso solicitado, en el caso de una pgina POST Enva los datos para que sean procesados por el
recurso identicado. Los datos se incluirn en el
web:
cuerpo de la peticin. Esto puede resultar en la creaHTTP/1.1 200 OK Date: Fri, 31 Dec 2003 23:59:59
cin de un nuevo recurso o de las actualizaciones de
GMT Content-Type: text/html Content-Length: 1221
los recursos existentes o ambas cosas.
<html> <body> <h1>Pgina principal de tuHost</h1>
(Contenido) . . . </body> </html>
PUT Sube, carga o realiza un upload de un recurso especicado (archivo), es el camino ms eciente para
subir archivos a un servidor, esto es porque en POST
4 Mtodos de peticin
utiliza un mensaje multiparte y el mensaje es decodicado por el servidor. En contraste, el mtodo
HTTP dene 8 mtodos (algunas veces referido como
PUT te permite escribir un archivo en una conexin
verbos) que indica la accin que desea que se efecte
socket establecida con el servidor.
3
La desventaja del mtodo PUT es que los servidores de
hosting compartido no lo tienen habilitado.
Ejemplo:
PUT /path/lename.html HTTP/1.1
DELETE Borra el recurso especicado.
TRACE Este mtodo solicita al servidor que enve de
vuelta en un mensaje de respuesta, en la seccin del
cuerpo de entidad, toda la data que reciba del mensaje de solicitud. Se utiliza con nes de comprobacin y diagnstico.
OPTIONS Devuelve los mtodos HTTP que el servidor
soporta para un URL especco.Esto puede ser utilizado para comprobar la funcionalidad de un servidor web mediante peticin en lugar de un recurso
especco.
CONNECT Se utiliza para saber si se tiene acceso a un
host, no necesariamente la peticin llega al servidor,
este mtodo se utiliza principalmente para saber si
un proxy nos da acceso a un host bajo condiciones
especiales, como por ejemplo corrientes de datos
bidireccionales encriptadas (como lo requiere SSL).
Cdigos de respuesta
1xx Mensajes
3xx Redirecin
Vase tambin
Transport Layer Security
HTTPS
HTTP Strict Transport Security
7 Referencias
[1] Enero de 1997. Se publica la primera versin de la especicacin HTTP/1.1
[2] Junio de 1999. Publicada la ltima versin de la especicacin HTTP/1.1
[3] PEP: An Extension Mechanism for HTTP. Cita: For experimental purposes, PEP-compatibility is equated with
HTTP/1.2.
8 Enlaces externos
RFC-2616
HTTP - Hypertext Transfer Protocol. W3C
HTTP Made Really Easy. byJames Marshall, 1997
Validacin de HTTP Headers Vericacin de URL
Online
9.1
Text
9.2
Images
Archivo:Commons-emblem-question_book_orange.svg
Fuente:
http://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC-BY-SA-3.0 Colaboradores: <a href='//commons.wikimedia.org/
wiki/File:Commons-emblem-issue.svg'
class='image'><img
alt='Commons-emblem-issue.svg'
src='//upload.wikimedia.org/
wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png'
width='25'
height='25'
srcset='//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png
1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_book.svg.png'
width='25' height='20' srcset='//upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/38px-Question_book.svg.
png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_book.svg.png 2x' data-lewidth='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:Http_request_telnet_ubuntu.png Fuente: http://upload.wikimedia.org/wikipedia/commons/c/c6/Http_request_telnet_ubuntu.
png Licencia: Public domain Colaboradores: Trabajo propio Artista original: TheJosh
9.3
Content license