Sunteți pe pagina 1din 25

HTTP

La WEB: Es un enorme sistema de informacin


distribuido basado en la arquitectura cliente/servidor.

Qu es HTTP?

Antes del HTTP ya existan el ftp, telnet, protocolos de correo


electrnico...

HTTP (Protocolo de Transferencia de Hipertexto) es el


protocolo de aplicacin ms popular de la web.

Es un protocolo asimtrico, es el cliente quien siempre tiene


que tirar de la informacin que hay en el servidor.

Es un protocolo sin estado. En cada transferencia no se


recuerda lo que se hizo anteriormente.

Permite la negociacin del tipo y representacin de los datos.

El protocolo HTTP, el lenguaje HTML y las URL fueron


desarrollados por el equipo de Tim Berners-Lee en el CERN a
principios de los 90s como sistema para compartir informacin
cientfica.

Y quin es ese Tim?


Tim Berners-Lee

Un NextCube del
CERN. Primer servidor
web del mundo.

Qu es una URI?

Un Identificador uniforme de recursos (URI), es una


secuencia de caracteres que se usa para nombrar recursos en
Internet , como por ejemplo documentos textuales, imgenes,
vdeos, etc. (rfc 3986)
El formato general de una URI para http sera:

esquema://mquina/directorio/archivo#fragmento:puerto
Por ejemplo:

http://anoymous@ubuntu.com/internet/tor/inetbasics.htm#s6:80

Si slo ponemos www.ubuntu.com, nuestro cliente HTTP supone


que usamos HTTP y que la conexin es por el puerto 80.
Adems, el servidor nos mostrar la pgina que tenga asignada
por defecto (index.html, index.php, home.html...).

Transferencia HTTP

El usuario especifica al cliente HTTP la direccin a la que


quiere acceder.

Pasos de una transferencia http.

El cliente HTTP desglosa esa informacin en sus diferentes


partes : direccin, protocolo, nombre de dominio o ip, puerto,
etc. Adems hace la consulta al servidor DNS si es necesario.

El servidor enva al cliente el objeto o el cdigo de error.

Se cierra la conexin.

El cliente conecta con el servidor (se crea un socket ) y


solicita el recurso usando el mtodo adecuado (GET, ...)

Transferencia HTTP
HTTP y HTTP persistente.

Al principio las pginas web solan ser un nico


documento de texto, as que los diseadores por
simplicidad eligieron abrir una conexin tcp para
cada peticin http. Se abre y se cierra una conexin
TCP por cada recurso que se enva.

Posteriormente las pginas se van cargando de


diferentes elementos: imgenes, hojas css, vdeos...
y haba que estar abriendo y cerrando conexiones
tcp para enviar cada uno de esos recursos. Esto
provocaba demasiado trfico tcp abriendo y cerrando
conexiones. Surge entonces el http persistente.
(http.1.1)

HTTP normal

HTTP persistente

Mensajes HTTP

Mensaje de
solicitud del
cliente

Formato de mensajes HTTP

Mensaje de
respuesta del
servidor

Mensajes de solicitud

Campos de encabezado. Son opcionales y aportan


informacin sobre el cliente.

Una lnea de solicitud que especifica el recurso solicitado,


el mtodo y la versin de protocolo usada.

Tienen el siguiente formato

Cuerpo de la solicitud. Es opcional y permite el envo de


datos al servidor cuando usamos por el mtodo POST.

Ejemplo de mensaje de solicitud GET (sin cuerpo):


GET www.google.es HTTP/1.0
Accept : Text/html
User-Agent : Mozilla/4.0

Mensajes de solicitud

POST: Para enviar informacin al servidor. Tpico en formularios.

HEAD: Igual que GET, pero solicitando solo la cabecera de la respuesta.

GET: Para solicitar un recurso del servidor

Mtodos de solicitud:

DELETE: Solicita al servidor que borre el recurso identificado con el URL.

TRACE: Para depuracin. Permite al cliente ver lo que el servidor recibe.

PUT: Enva el recurso indicado en la URL desde el cliente hacia el


servidor.

OPTIONS: Pide informacin sobre las caractersticas de comunicacin


proporcionadas por el servidor. Le permite al cliente negociar los
parmetros de comunicacin.Este mtodo se reserva para uso con
proxys.

Mensajes de solicitud

Orig-URL: Direccin URL donde se origin la solicitud

From: Para especificar la direccin de correo electrnico del cliente

Date: Fecha en que comienza la transferencia de datos

Algunos de los encabezados que se pueden encontrar


en mensajes de solucitud:

User-Agent: Cadena con informacin sobre el cliente, por ejemplo,


el nombre y la versin del navegador y el sistema operativo

Accept-Encoding: Codificacin de datos que el navegador acepta

Host: Nombre de dominio del servidor (virtual hosting) y puerto.

Accept:Tipos de contenido (MIME) aceptado por el navegador (por


ejemplo, texto/html).

Mensajes de respuesta

Encabezados. Son opcionales y dan informacin


sobre el servidor y sobre el mensaje de respuesta

Lnea inicial, con el protocolo empleado, el cdigo


de estado y su explicacin.

Los mensajes de respuesta constan de tres


partes:

El cuerpo de la respuesta, que contiene el


documento solicitado.

Mensajes de respuesta
Los cdigos de estado que
pueden aparecer en la lnea
inicial de un mensaje de
respuesta son:
HTTP/1.0
Codigo

404

Explicacin

Not Found

Ejemplo:

Protocolo

Mensajes de respuesta

Algunos de los encabezados que se pueden encontrar en una


respuesta:

Content-Type: Tipo de contenido MIME del cuerpo de la respuesta

Content-Encoding: Tipo de codificacin para el cuerpo de la


respuesta

Date: Fecha en que comienza la transferencia de datos

Server: Caractersticas del servidor que envi la respuesta

Location: Contiene un URI al que el cliente debe ser


redireccionado.

Expires: Indica la fecha y hora en la que el recurso se considerar


obsoleto.

WWW-Authenticate: Indica que el recurso solicitado necesita de


credenciales de autorizacin.

Tipos MIME

Es el acrnimo de extensiones multipropsito de correo en


Internet y nacieron para poder incluir imgenes, o sonidos en
los correos electrnicos. Luego se usaron en html.

Son un estndar usado en los encabezados que da informacin


sobre los tipos de archivos que se envan y cmo manejarlos.
As, el navegador sabe si puede abrir el recurso o debe llamar a
otro programa (lector pdf, programa de vdeo, etc).
Se definen de la siguiente manera
Content-type: tipo-mime/subtipo-mime
Ejemplo:
Content-type: pdf/aplication

Tipos MIME

En nuestro navegador podemos ver los tipos mime que soporta y


como se abrirn.

Los Cookies

Un cookie es un pequeo archivo que se genera cuando


conectamos a una pgina web y que se guarda en nuestro
ordenador (C:\Documents and Settings\usuario\Cookies).

Carrito de la compra...

Informacin de costumbres de navegacin: Se puede


guardar por donde navegamos habitualmente.

Guardar opciones de diseo: Fondos de pgina, colores y


otras personalizaciones.

Llevar el control de usuarios: Para almacenar un nombre


de usuario cuando navegamos por un sitio web.

Usos:

Los Cookies

Testear http usando telnet

El viejo telnet puede usarse para testear servidores http y ver qu enva a
nuestro navegador. Aunque normalmente da mensajes de error por
emplear telnet siempre da alguna informacion...

Trfico http con web-developer

Se observa la enorme cantidad de peticiones GET que realiza


el navegador para descargar la web en su totalidad

Servidores web ms usados

Servidores web ms usados

Navegadores ms usados

S-ar putea să vă placă și