ESTRUCTURA TCP/IP

Inicio de sesión

Recordar mi usuario.
Registrarse
INDICE
Protocolo HTTP
Transacciones HTTP
Ejemplo de dialogo HTTP

Volver

CAPA DE APLICACIÓN

Asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. La capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI.

Ofrece a las aplicaciones (de usuario o no) la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POP y SMTP), gestores de bases de datos y protocolos de transferencia de archivos (FTP).

El usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente. Así por ejemplo un usuario no manda una petición «GET /index.html HTTP/1.0» para conseguir una página en html, ni lee directamente el código html/xml. O cuando chateamos con el Mensajero Instantáneo, no es necesario que codifiquemos la información y los datos del destinatario para entregarla a la capa de Presentación (capa 6) para que realice el envío del paquete.

En esta capa aparecen diferentes protocolos y servicios.

Protocolos:
  • HTTP (HyperText Transfer Protocol) para acceso a páginas web.
  • HTTPS (Hypertext Transfer Protocol Secure) Protocolo seguro de transferencia de hipertexto.
  • FTP (File Transfer Protocol - Protocolo de transferencia de archivos) para transferencia de archivos.
  • DNS (Domain Name Service - Servicio de nombres de dominio).
  • DHCP (Dynamic Host Configuration Protocol - Protocolo de configuración dinámica de anfitrión).
  • POP (Post Office Protocol) para recuperación de correo electrónico.
  • SMTP (Simple Mail Transport Protocol) para envío de correo electrónico.
  • SSH (Secure SHell)
  • TELNET para acceder a equipos remotos.
  • TFTP (Trival File Transfer Protocol).
  • LDAP (Lightweight Directory Access Protocol).
  • XMPP (Extensible Messaging and Presence Protocol) - Protocolo estándar para mensajería instantánea.
Servicios
  • Aplicaciones de Red
  • WWW (World Wide Web)
  • Enlace a capas inferiores

PROTOCOLO HTTP

Hypertext Transfer Protocol o HTTP es el protocolo usado en cada transacción de la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. HTTP define la sintaxis y la semántica 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 petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web 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 localizador uniforme de recursos (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.

TRANSACCIONES HTTP

Una transacción HTTP está formada por 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 entorno de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guion ( - ) 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, si se excede algún límite del entorno de sistema. Ejemplos de esto son las variables HTTP_ACCEPT y HTTP_USER_AGENT.

  • HTTP_ACCEPTLos tipos MIME que el cliente aceptará, dados 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 se dice en la especificación HTTP: tipo, tipo.
  • HTTP_USER_AGENTEl navegador que utiliza el cliente para realizar la petición. El formato general para esta variable es: software/versión biblioteca/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.

Hay que tener 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.

EJEMPLO DE DIALOGO HTTP

Para obtener un recurso con el URL http://www.example.com/index.html
  1. Se abre una conexión al host www.example.com, 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>

Subir al indice
 

1º ASIR - Lenguaje de Marcas
Valid XHTML 1.0 Transitional Reconocimiento - NoComercial - CompartirIgual (by-nc-sa