Sei sulla pagina 1di 6

HTTP

Hypertext Transfer Protocol


(HTTP)
Familia
Familia de protocolos de Internet
Funcin
Transferencia de hipertexto
ltima versin 1.2
Puertos
80/TCP
Ubicacin en la pila de protocolos
Aplicacin HTTP
Transporte TCP
Red
IP
Estndares
RFC 1945 (HTTP/1.0, 1996)
RFC 2616 (HTTP/1.1, 1999)
RFC 2774 (HTTP/1.2, 2000)
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.
HTTP define 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 identifica 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 informacin que un servidor puede
almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la nocin
de "sesin", y tambin permite rastrear usuarios ya que las cookies pueden guardarse en
el cliente por tiempo indeterminado.

Ejemplo de un dilogo HTTP


Para obtener un recurso con el URL http://www.example.com/index.html
1. Se abre una conexin al host www.example.com, puerto 80 que es el puerto por
defecto para HTTP.

2. Se enva un mensaje en el estilo siguiente:


GET /index.html HTTP/1.1
Host: www.example.com
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 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>Pgina principal de tuHost</h1>
(Contenido)
.
.
.
</body>
</html>

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.
HTTP define 8 mtodos (algunas veces referido como "verbos") que indica la accin
que desea que se efecte sobre el recurso identificado. Lo que este recurso representa, si
los datos pre-existentes o datos que se generan de forma dinmica, depende de la
aplicacin del servidor. A menudo, el recurso corresponde a un archivo o la salida de un
ejecutable que residen en el servidor.
HEAD
Pide una respuesta idntica a la que correspondera a una peticin GET, pero sin el
cuerpo de la respuesta. Esto es til para la recuperacin de meta-informacin escrita en
los encabezados de respuesta, sin tener que transportar todo el contenido.
GET
Pide una representacin del recurso especificado. Por seguridad no debera ser usado
por aplicaciones que causen efectos ya que transmite informacin a travs de la URI
agregando parmetros a la URL. La peticin puede ser simple, es decir en una linea o
compuesta de la manera que muestra el ejemplo.

Ejemplo:
GET /images/logo.png HTTP/1.1 obtiene un recurso llamado logo.png
Ejemplo con parmetros:
/index.php?page=main&lang=es
POST
Enva los datos para que sean procesados por el recurso identificado. Los datos se
incluirn en el cuerpo de la peticin. Esto puede resultar en la creacin de un nuevo
recurso o de las actualizaciones de los recursos existentes o ambas cosas.
PUT
Sube, carga o realiza un upload de un recurso especificado (archivo), es el camino ms
eficiente para subir archivos a un servidor, esto es porque en POST utiliza un mensaje
multiparte y el mensaje es decodificado por el servidor. En contraste, el mtodo PUT te
permite escribir un archivo en una conexin socket establecida con el servidor.
La desventaja del mtodo PUT es que los servidores de hosting compartido no lo tienen
habilitado.
Ejemplo:
PUT /path/filename.html HTTP/1.1
DELETE
Borra el recurso especificado.
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 fines de comprobacin y diagnstico.
OPTIONS
Devuelve los mtodos HTTP que el servidor soporta para un URL especfico. Esto puede
ser utilizado para comprobar la funcionalidad de un servidor web mediante peticin en
lugar de un recurso especfico.
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
N
100

Descripcin
111 Conexin rechazada

2xx Operacin exitosa


N
Descripcin
200 OK
201-203
Informacin no oficial
204 Sin Contenido
205 Contenido para recargar
206 Contenido parcial
3xx Redireccin
N
301
302
303
304
305
307

Descripcin
Mudado permanentemente
Encontrado
Vea otros
No modificado
Utilice un proxy
Redireccin temporal

4xx Error por parte del cliente


N
400
401
402
403
404
409
410
412

Descripcin
Solicitud incorrecta
No autorizado
Pago requerido
Prohibido
No encontrado
Conflicto
Ya no disponible
Fall precondicin

5xx Error del servidor


N
500
501
502
503
504
505

Descripcin
Error interno
No implementado
Pasarela incorrecta
Servicio no disponible
Tiempo de espera de la pasarela agotado
Versin de HTTP no soportada

HTTPS
Hypertext Transfer Protocol Secure
(HTTPS)
Familia
Familia de protocolos de Internet
Funcin
Transferencia segura de hipertexto
Puertos
443/TCP
Ubicacin en la pila de protocolos
Aplicacin HTTPS
Transporte SSL/TLS

Red
Estndares

TCP
IP
RFC 2818 HTTP sobre TLS

Hypertext Transfer Protocol Secure (en espaol: Protocolo seguro de transferencia de


hipertexto), ms conocido por sus siglas HTTPS, es un protocolo de aplicacin basado en
el protocolo HTTP, destinado a la transferencia segura de datos de Hipertexto, es decir, es
la versin segura de HTTP.
Es utilizado principalmente por entidades bancarias, tiendas en lnea, y cualquier tipo
de servicio que requiera el envo de datos personales o contraseas.
El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo
nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) ms
apropiado para el trfico de informacin sensible que el protocolo HTTP. De este modo se
consigue que la informacin sensible (usuario y claves de paso normalmente) no pueda
ser usada por un atacante que haya conseguido interceptar la transferencia de datos de
la conexin, ya que lo nico que obtendr ser un flujo de datos cifrados que le resultar
imposible de descifrar.
El puerto estndar para este protocolo es el 443.

Diferencias con HTTP


En el protocolo HTTP las URLs comienzan con "http://" y utilizan por omisin el puerto
80, las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443 por omisin.
HTTP es inseguro y est sujeto a ataques man-in-the-middle y eavesdropping que
pueden permitir al atacante obtener acceso a cuentas de un sitio web e informacin
confidencial. HTTPS est diseado para resistir esos ataques y ser ms seguro.

Capas de red
HTTP opera en la capa ms alta del modelo OSI, la capa de aplicacin; pero el protocolo
de seguridad opera en una subcapa ms baja, cifrando un mensaje HTTP previo a la
transmisin y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS
no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una Capa de
Conexin Segura cifrada Secure Sockets Layer (SSL) o una conexin con Seguridad de la
Capa de Transporte (TLS).

Configuracin del servidor


Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe
crear un certificado de clave pblica para el servidor web. Este certificado debe estar
firmado por una autoridad de certificacin para que el navegador web lo acepte. La
autoridad certifica que el titular del certificado es quien dice ser. Los navegadores web
generalmente son distribuidos con los certificados raz firmados por la mayora de las
autoridades de certificacin por lo que estos pueden verificar certificados firmados por
ellos.

Potrebbero piacerti anche