Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email:
[email protected]
Práctica 10 – Protocolos de nivel de aplicación
“Sesión 2”
1- Objetivos
En esta segunda sesión veremos los protocolos HTTP, DNS y SMTP/POP3/IMAP.
2- Avisos generales
Si quieren conservar cualquier fichero entre sesiones guárdenlo en una memoria USB, dado que
no se asegura que los ficheros creados o modificados durante una sesión de prácticas se mantengan
para la siguiente.
4- Protocolo HTTP
Desde 1990, el protocolo HTTP (Protocolo de transferencia de hipertexto) es el protocolo más
utilizado en Internet. La versión 0.9 sólo tenía la finalidad de transferir los datos a través de Internet
(en particular páginas Web escritas en HTML). La versión 1.0 del protocolo permite la transferencia
de mensajes con encabezados que describen el contenido de los mensajes mediante la codificación
MIME. Posteriormente fue mejorada por la versión 1.1
Referencia: http://www2.research.att.com/~bala/papers/h0vh1.html
El propósito del protocolo HTTP es permitir la transferencia de archivos (principalmente, en
formato HTML) entre un navegador (el cliente) y un servidor web (por ejemplo, httpd en equipos
UNIX) localizado mediante una cadena de caracteres denominada dirección URL.
Comunicación entre el navegador y el servidor
La comunicación entre el navegador y el servidor se lleva a cabo en dos etapas:
1. El navegador realiza una solicitud HTTP
2. El servidor procesa la solicitud y después envía una respuesta HTTP
Arquitectura de Redes Sistemas y Servicios: Práctica 10 “Sesión 2”
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email:
[email protected]
En realidad, la comunicación se realiza en más etapas si se considera el procesamiento de la
solicitud en el servidor. Sólo nos ocupamos del protocolo HTTP.
Solicitud HTTP
Una solicitud HTTP es un conjunto de líneas que el navegador envía al servidor. Incluye:
Una línea de solicitud: es una línea que especifica el tipo de documento solicitado, el método que
se aplicará y la versión del protocolo utilizada. La línea está formada por tres elementos que deben
estar separados por un espacio:
El método
La dirección URL
La versión del protocolo utilizada por el cliente (por lo general, HTTP/1.0)
Los campos del encabezado de solicitud: son un conjunto de líneas opcionales que permiten
aportar información adicional sobre la solicitud y/o el cliente (navegador, sistema operativo, etc.).
Cada una de estas líneas está formada por un nombre que describe el tipo de encabezado, seguido de
dos puntos (:) y el valor del encabezado.
El cuerpo de la solicitud: es un conjunto de líneas opcionales que deben estar separadas de las
líneas precedentes por una línea en blanco y, por ejemplo, permiten que se envíen datos por un
comando POST durante la transmisión de datos al servidor utilizando un formulario.
Una solicitud HTTP posee la siguiente sintaxis (<crlf> retorno de carro y avance de línea):
MÉTODO VERSIÓN URL<crlf>
ENCABEZADO: Valor<crlf>
. . . ENCABEZADO: Valor<crlf>
Línea en blanco <crlf>
CUERPO DE LA SOLICITUD
A continuación se muestra un ejemplo de una solicitud HTTP:
GET http://www.google.es HTTP/1.0 Accept : Text/html If-Modified-Since :
Saturday, 26-May-2009 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE
5.0; Windows XP)
Comandos
Comando
Descripción
GET
Solicita el recurso ubicado en la URL especificada
HEAD
Solicita el encabezado del recurso ubicado en la URL especificada
POST
Envía datos al programa ubicado en la URL especificada
PUT
Envía datos a la URL especificada
DELETE
Borra el recurso ubicado en la URL especificada
Arquitectura de Redes Sistemas y Servicios: Práctica 10 “Sesión 2”
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email:
[email protected]
Encabezados
Nombre del
encabezado
Descripción
Accept
Tipo de contenido aceptado por el navegador (por ejemplo, texto/html). Consulte Tipos de MIME
Accept-Charset
Juego de caracteres que el navegador espera
Accept-Encoding
Codificación de datos que el navegador acepta
Accept-Language
Idioma que el navegador espera (de forma predeterminada, inglés)
Authorization
Identificación del navegador en el servidor
Content-Encoding
Tipo de codificación para el cuerpo de la solicitud
Content-Language
Tipo de idioma en el cuerpo de la solicitud
Content-Length
Extensión del cuerpo de la solicitud
Content-Type
Tipo de contenido del cuerpo de la solicitud (por ejemplo, texto/html). Consulte Tipos de MIME
Date
Fecha en que comienza la transferencia de datos
Forwarded
Utilizado por equipos intermediarios entre el navegador y el servidor
From
From
Link
Orig-URL
Referer
User-Agent
Permite especificar la dirección de correo electrónico del cliente
Permite especificar que debe enviarse el documento si ha sido modificado desde una fecha en
particular
Vínculo entre dos direcciones URL
Dirección URL donde se originó la solicitud
Dirección URL desde la cual se realizó la solicitud
Cadena con información sobre el cliente, por ejemplo, el nombre y la versión del navegador y el
sistema operativo
Respuesta HTTP
Una respuesta HTTP es un conjunto de líneas que el servidor envía al navegador. Está constituida
por:
Una línea de estado: es una línea que especifica la versión del protocolo utilizada y el estado de
la solicitud en proceso mediante un texto explicativo y un código. La línea está compuesta por tres
elementos que deben estar separados por un espacio: La línea está formada por tres elementos que
deben estar separados por un espacio:
La versión del protocolo utilizada
El código de estado
Arquitectura de Redes Sistemas y Servicios: Práctica 10 “Sesión 2”
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email:
[email protected]
El significado del código
Los campos del encabezado de respuesta: es un conjunto de líneas opcionales que permiten
aportar información adicional sobre la respuesta y/o el servidor. Cada una de estas líneas está
compuesta por un nombre que califica el tipo de encabezado, seguido por dos puntos (:) y por el valor
del encabezado Cada una de estas líneas está formada por un nombre que describe el tipo de
encabezado, seguido de dos puntos (:) y el valor del encabezado.
El cuerpo de la respuesta: contiene el documento solicitado.
Por lo tanto, una respuesta HTTP posee la siguiente sintaxis (<crlf> significa retorno de carro y
avance de línea):
VERSIÓN-HTTP CÓDIGO EXPLICACIÓN <crlf>
ENCABEZADO: Valor<crlf>
. . . ENCABEZADO: Valor<crlf>
Línea en blanco <crlf>
CUERPO DE LA RESPUESTA
A continuación se muestra un ejemplo de una respuesta HTTP:
HTTP/1.0 200 OK Date: Tue, 26 May 2009 14:37:12 GMT Server : Microsoft-IIS/2.0
Content-Type : text/HTML Content-Length : 1245 Last-Modified : Tue, 26 May
2009 08:25:13 GMT
Encabezados de respuesta
Nombre del
encabezado
Descripción
Content-Encoding
Tipo de codificación para el cuerpo de la respuesta
Content-Language
Tipo de idioma en el cuerpo de la respuesta
Content-Length
Extensión del cuerpo de la respuesta
Content-Type
Date
Expires
Tipo de contenido del cuerpo de la respuesta (por ejemplo, texto/html). Consulte Tipos de
MIME
Fecha en que comienza la transferencia de datos
Fecha límite de uso de los datos
Forwarded
Utilizado por equipos intermediarios entre el navegador y el servidor
Location
Server
Redireccionamiento a una nueva dirección URL asociada con el documento
Características del servidor que envió la respuesta
Arquitectura de Redes Sistemas y Servicios: Práctica 10 “Sesión 2”
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email:
[email protected]
Los códigos de respuesta
Son los códigos que se ven cuando el navegador no puede mostrar la página solicitada. El código
de respuesta está formado por tres dígitos: el primero indica el estado y los dos siguientes explican la
naturaleza exacta del error.
Código
Mensaje
Descripción
10x
20x
Mensaje de
información
Estos códigos no se utilizan en la versión 1.0 del protocolo
Éxito
Estos códigos indican la correcta ejecución de la transacción
200
OK
La solicitud se llevó a cabo de manera correcta
201
CREATED
Sigue a un comando POST e indica el éxito, la parte restante del cuerpo indica la dirección
URL donde se ubicará el documento creado recientemente.
202
ACCEPTED
La solicitud ha sido aceptada, pero el procedimiento que sigue no se ha llevado a cabo
203
204
205
206
PARTIAL
INFORMATION
Cuando se recibe este código en respuesta a un comando de GET indica que la respuesta no
está completa.
NO RESPONSE
El servidor ha recibido la solicitud, pero no hay información de respuesta
RESET CONTENT
El servidor le indica al navegador que borre el contenido en los campos de un formulario
PARTIAL CONTENT Es una respuesta a una solicitud que consiste en el encabezado range. El servidor debe
indicar el encabezado content-Range
30x
Redirección
Estos códigos indican que el recurso ya no se encuentra en la ubicación
especificada
301
MOVED
Los datos solicitados han sido transferidos a una nueva dirección
302
FOUND
303
METHOD
Los datos solicitados se encuentran en una nueva dirección URL, pero, no obstante, pueden
haber sido trasladados
Significa que el cliente debe intentarlo con una nueva dirección; es preferible que intente
con otro método en vez de GET
304
NOT MODIFIED
40x
Error debido al
cliente
Si el cliente llevó a cabo un comando GET co
Comentarios de: Práctica 10 – Protocolos de nivel de aplicación (0)
No hay comentarios