PDF de programación - Tema 3 - Aplicaciones orientadas a conexión

Imágen de pdf Tema 3 - Aplicaciones orientadas a conexión

Tema 3 - Aplicaciones orientadas a conexióngráfica de visualizaciones

Publicado el 5 de Julio del 2017
669 visualizaciones desde el 5 de Julio del 2017
86,9 KB
33 paginas
Creado hace 16a (16/10/2007)
Bloque II: El nivel de aplicación

Tema 3: Aplicaciones orientadas a

conexión

Índice

• Bloque II: El nivel de aplicación

– Tema 3: Aplicaciones orientadas a conexión

• Introducción
• World Wide Web
• Transferencia de ficheros
• Correo electrónico

• Referencias

– Capítulo 2 de “Redes de Computadores: Un enfoque

descendente basdado en Internet”. James F. Kurose, Keith
W. Ross. Addison Wesley, 2ª edición. 2003.

– Capítulos 27 y 28 de “TCP/IP Illustrated, Volume 1: The
Protocols”, W. Richard Stevens, Addison Wesley, 1994.

RC - Bloque II - Tema 3

2

Introducción

• Dos procesos en dos sistemas finales (distintos) se comunican
intercambiando mensajes a través de una red de computadores.

• Modelo cliente-servidor

– Cliente envía mensajes al servidor
– Servidor recibe los mensajes, procesa la respuesta y la envía

• Protocolos del nivel de aplicación:

– Definen el formato y el orden de intercambio de los mensajes
– Acciones en la transmisión o recepción de mensajes

FTP

HTTP

SMTP

Telnet

DNS

SNMP

TCP

UDP

RC - Bloque II - Tema 3

IP

Nivel de
Aplicación

ICMP

IGMP

3

Introducción

• Protocolo del nivel de aplicación es sólo una parte de la aplicación de

red. Por ejemplo, en el Web:
– Formato de los documentos (HTML)
– Navegadores Web (Mozilla, Explorer, ...)
– Servidores Web (Apache, MIIS, ...)
– Protocolo de la capa de aplicación (HTTP)

• Protocolo del nivel de aplicación:

– Tipo de mensajes intercambiados (petición/respuesta)
– Sintaxis de los mensajes
– Semántica de los campos
– Reglas que determinan cuándo y cómo un proceso envía un

mensaje y responde a los mensajes.

• Aplicaciones y protocolos más utilizados:

– Web – HTTP (RFC 2616)
– Transferencia de ficheros – FTP (RFC 959)
– Correo electrónico – SMTP (2821)
– Acceso a terminales remotos – Telnet (RFC 854)

RC - Bloque II - Tema 3

4

Web

• Es una aplicación en Internet.
• El World Wide Web surgió a principios de los 90, en el CERN (Tim Berners-

Lee), para organizar los documentos de investigación disponibles en Internet.

• Combina cuatro ideas que no eran nuevas:

– Hipertexto: formato de la información que permite moverse de una parte a

otra de un documento o entre documentos mediante conexiones internas
entre estos documentos (hiperenlaces o enlaces).

– Identificadores de recursos: identificadores únicos que permiten localizar

un recursos en la red (URL – Uniform Resource Locator o URI – Uniform
Resource Identifier)

– Modelo cliente-servidor
– Lenguaje de marcas: caracteres o códigos embebidos en texto que

indican estructura, semántica o recomendaciones para su presentación
(HTML – HyperText Markup Language).

Tim Berners-Lee desarrolló el protocolo HTTP inicial, las URLs, HTML y el
primer servidor Web.



• Componentes:

– Página Web: archivo HTML base + objetos (imágenes)
– Navegador: agente de usuario para el Web
– Servidor Web: almacena objetos Web direccionables a través de una URL
– Protocolo HTTP: permite comunicarse al servidor y al navegador

RC - Bloque II - Tema 3

5

HTTP










HyperText Transfer Protocol
Especificado en RFC 1945 (HTTP/1.0) y RFC 2616 (HTTP/1.1)
– HTTP/1.1 compatible con HTTP/1.0
Define cómo los clientes (navegadores) solicitan páginas Web y cómo los servidores
transfieren estas páginas.
Utiliza el protocolo TCP (servicio orientado a conexión y fiable) Cada mensajes HTTP
emitido por el cliente o servidor llega al otro extremo sin modificaciones.
HTTP es un protocolo sin estado El servidor HTTP no guarda información sobre los
clientes.

Navegador

Servidor Web

Petición

GET /index.html HTTP/1.1 ...

H T T P / 1 . 1 2 0 0 O K . . .

Respuesta

RC - Bloque II - Tema 3

6







HTTP: Conexiones no persistentes
HTTP/1.0 usa conexiones no persistentes
Petición de una URL (http://www.tic.udc.es/index.php)
1. El cliente HTTP inicia la conexión TCP con el servidor www.tic.udc.es en

2. El cliente HTTP envía al servidor el mensaje de petición solicitando el

el puerto 80.

objeto /index.php

3. El servidor HTTP recibe la petición, lee el objeto, lo encapsula en el

mensaje HTTP de respuesta y lo envía.

4. El servidor finaliza la conexión TCP.
5. El cliente HTTP recibe la respuesta y finaliza la conexión TCP.
6. El cliente extrae el archivo del mensaje de respuesta, examina el archivo

HTML y encuentra referencias a otros objetos HTML (p.e. imágenes)

7. Volver al paso 1, para cada objeto.

Dependiendo del navegador, las nuevas conexiones podrían ser en paralelo.
Inconvenientes:


Se necesita una conexión (buffers, variables, timeouts, ...) para cada
objeto solicitado.

– Retardo de dos veces el RTT: establecimiento de conexión + petición y

recepción del objeto

RC - Bloque II - Tema 3

7

HTTP: Conexiones persistentes

• Por defecto, en HTTP/1.1
• El servidor HTTP deja abierta la conexión TCP, esperando

nuevas petición/respuestas.
– El servidor cerrará la conexión después de un tiempo de

inactividad.

• Sin pipeline: el cliente sólo envía una nueva petición cuando ha

• Con pipeline: el cliente realiza una petición tan pronto encuentra

recibido la respuesta previa.

una referencia a un objeto.

RC - Bloque II - Tema 3

8

Mensajes HTTP

GET /index.html HTTP/1.1
Host: www.tic.udc.es
User-agent: Mozilla/4.0

HTTP/1.1 200 OK
Date: Sat, 1 Jan 2000 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Fri, 24 Dic 1999 13:03:32 GMT
Content-Length: 6821
Content-Type: text/html

<HTML> <HEAD>
<TITLE> My homepage </TITLE>
...

Línea de petición

Líneas de cabecera
Línea en blanco
Cuerpo de entidad

Línea de estado

Líneas de
cabecera

Línea en blanco

Cuerpo de entidad

RC - Bloque II - Tema 3

9

Mensaje petición HTTP




Línea de petición + línea en blanco: obligatorio
Línea de petición:
– Método:

• GET: utilizando cuando el navegador solicita un objeto.
• HEAD: el servidor responde con un mensaje HTTP, pero sin incluir el

objeto solicitado.

• POST: incluye datos en el cuerpo de entidad (no en el caso de un

GET).

especificada.

• PUT (1.1): permite a un usuario cargar un objeto en la ruta

• DELETE (1.1): permite borrar un objeto de un servidor Web.

– URL: objeto al que se hace referencia
– Versión

• Host: especifica el host en el que reside el objeto.
• User-agent: especifica el tipo de navegador que está haciendo la petición.

• POST: utilizado comúnmente cuando un usuario rellena un formulario.
– El cuerpo de entidad contiene los datos introducidos por el usuario.

• GET: también soporta el envío de datos introducidos por el usuario.

– Se envían codificados en la URL real.
– Por ejemplo: www.google.com/search?keywords=information+retrieval

RC - Bloque II - Tema 3

10

Mensaje respuesta HTTP

• Línea de estado: Versión + Código de estado + Frase

– Códigos de estado y frases:

• 200 OK
• 400 Bad Request: petición no comprendida por el

servidor.

• 404 Not Found: el objeto pedido no existe en el servidor.
• Date: fecha y hora en la que se creó y envió la respuesta HTTP.
• Server: especifica el tipo de servidor Web que ha atendido a la

petición.

• Last-Modified: indica la fecha y hora en que el objeto fue creado

o modificado por última vez.

• Content-Length: indica el número de bytes del objeto enviado.
• Content-Type: indica el tipo de objeto incluido en el cuerpo de

entidad.
– La extensión del archivo no especifica (formalmente) el tipo

de objeto.

RC - Bloque II - Tema 3

11

HTTP: GET condicional



La utilización de una caché reduce los retardos de recuperación de
objetos y reduce el tráfico que circula por la red.

• Problema: la copia de un objeto en caché puede ser obsoleta.
• Solución: GET + If-Modificed-Since

– Sólo devuelve el objeto si ha sido modificado después de la fecha

indicada.

• Solicitar un objeto por primera vez:

GET /images/udc.gif HTTP/1.1
User-agent: Mozilla/4.0

• Recibir la respuesta del servidor:

HTTP/1.1 200 OK
Date: Sat, 1 Jan 2000 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Fri, 24 Dic 1999 13:03:32 GMT
Content-Type: image/gif
(datos)...

RC - Bloque II - Tema 3

12

HTTP: GET condicional

• Pasado un tiempo, se vuelve a solicitar el mismo

objeto, sólo si se ha modificado:
GET /images/udc.gif HTTP/1.1
User-agent: Mozilla/4.0
If-modified-since: Fri, 24 Dic 1999 13:03:32

GMT

• Si no se ha modificado, el servidor no envía el

objeto de nuevo.
HTTP/1.1 304 Not Modified
Date: Wed, 5 Jan 2000 20:30:43 GMT
Server: Apache/1.3.0 (Unix)

RC - Bloque II - Tema 3

13

HTTP: Identificación de usuarios
• Autorización: el usuario debe identificarse (login y password) al

acceder a un servidor Web.
– El usuario realiza una petición normal.
– El servidor responde con un mensaje 401

AuthorizationRequired.
• Campo WWW-Authenticate que especifica cómo se realiza la

autentificación.

– El navegador solicita el login y password al usuario e incluye una

cabecera Authorization.

– En las peticiones subsiguientes se repite el login y password.

• Cookies: mecanismo de almacenamiento en la máquina del cliente
– Línea de cabecera de cookie en el mensaje HTTP de respuesta
– Línea de cabecera de cookie en la petición (Cookie)
– Archivo de cookies almacenado en el ordenador cliente

(Set-cookie)

(gestionado por el navegador)

– Base de datos de apoyo en el servidor Web
– Ejemplo: carrito de la compra

RC - Bloque II - Tema 3

14

Transferencia de ficheros
• Se basa en el protocolo FTP (File Transfer Protocol).
• Transferencia de ficheros: permite copiar ficheros desde un

sistema a otro.

• Acceso a ficheros: permite acceder a un fichero desde un

sistema a otro NFS (Network File System).

• FTP fue diseñado para operar con sistemas heterogéneos

Soporte para distintos tipos de ficheros (ASCII, binarios, …)
• Las passwords y el contenido de los ficheros se envían sin

cifrar.
– FTP sobre SSH: secure FTP

• FTP anónimo: un usuario no necesita cuenta para acceder al

servidor FTP.
– Se “solicita” el e-mail del usuario.
Integrado hoy en día
  • Links de descarga
http://lwp-l.com/pdf4852

Comentarios de: Tema 3 - Aplicaciones orientadas a conexión (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad