Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue...

22
UT6. Servicio HTTP Servicios en Red UT6. Servicio HTTP

Transcript of Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue...

Page 1: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

UT6. Servicio HTTP

Servicios en Red

UT6. Servicio HTTP

Page 2: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1.El servicio HTTP� Protocolo de Transferencia de HiperTexto (HyperTextTransfer Protocol)

� Es el método más común de intercambio de información en la WorldWideWeb, por el cual se transfieren las páginas web o HTML a un ordenador

� El hipertexto no es más que el contenido de las páginas web y el protocolo de transferencia es el conjunto de normas mediante las cuales se envían las peticiones de acceso a una web y la consiguiente respuesta.

� Existe una versión segura de HTTP llamada HTTPS que permite el uso de cualquier método de cifrado siempre que lo compartan el servidor y el cliente

Page 3: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?El HTTP es un protocolo cliente-servidor cuyo funcionamiento está basado en el envío de mensajes. Su mecanismo es el siguiente:

1. El usuario especifica en el cliente web (o navegador) la dirección de la página que quiere consultar según un formato http://dirección[:puerto][path].

2. El cliente web descodifica la información de la URL diferenciando el protocolo de acceso, la IP o nombre de dominio del servidor, el puerto, etcétera.acceso, la IP o nombre de dominio del servidor, el puerto, etcétera.

http://www.iesalbares.edu/profesores/marioly/index.html

Protocolo de comunicación con el servidor

Nombre de dominio del servidor web donde se almacena el documento

Localización del documento dentro del sistema de archivos del servidor web

Page 4: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?El HTTP es un protocolo cliente-servidor cuyo funcionamiento está basado en el envío de mensajes. Su mecanismo es el siguiente:1. El usuario especifica en el cliente web (o navegador) la dirección de la página que

quiere consultar según un formato http://dirección[:puerto][path].

2. El cliente web descodifica la información de la URL diferenciando el protocolo de acceso, la IP o nombre de dominio del servidor, el puerto, etcétera.

3. El cliente web establece una conexión (socket) con el servidor web y solicita la página (mensaje request).

4. El servidor envía dicha página (si no existe, envía un código de error) y el cliente web interpreta el código HTML recibido (mensaje response del servidor).

5. Se cierra la conexión

Page 5: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

Page 6: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

El protocolo HTTP es un protocolo sin estado, es decir, no recuerda nada relativo a conexiones anteriores a la actual. Cuando el cliente web solicita un documento HTML, puede ocurrir lo siguiente:

�Si el servidor lo encuentra, lo envía.�Si no existe, envía un código de error.

En ambos casos, y al tratarse de un protocolo sin estado, la conexión se libera al finalizar. Solo dura el tiempo necesario para la transmisión del documento solicitado. Para cada objeto que se transfiere por la red, se realiza una conexión independiente.

Page 7: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

Para resolver estas situaciones de «falta de memoria», además de almacenarse la Para resolver estas situaciones de «falta de memoria», además de almacenarse la información de la sesión actual se utilizan las cookies.

En la versión 1.0 del protocolo HTTP el cliente web podía solicitar del servidor solo tres operaciones:

Page 8: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

Page 9: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

Mensajes HTTP de PETICIÓN. Constan de tres partes:1ª parte. Línea de Petición

MétodoHTTP Identificador VersiónHTTP

MétodoHTTP: acción que se solicita. Puede ser:MétodoHTTP: acción que se solicita. Puede ser:GET, POST, HEAD, DELETE, PUT

Identificador: URL sin protocolo ni nombre del servidor.VersiónHTTP: suele ser: HTTP/1.0 ó HTTP/1.1

2ª parte. Líneas de cabecera de peticiónInforman al servidor sobre el cliente y lo que solicita.

3ª parte. Cuerpo de la peticiónDatos transferidos del cliente al servidor

Page 10: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

� Formato general de una petición HTTP y ejemplo:

Page 11: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?Campos de cabecera de petición comunes:� User-Agent: Informa del tipo de navegador que emplea el cliente.

� Referer: URL del documento desde el que se accedió al actualactual

� If-Modified-Since: sólo se quiere el documento si se ha modificado.

� Accept-Language: lenguajes aceptados por el navegador� Host: servidor al que el cliente envía la petición� Connection: se emplea para mantener la conexión� Accept: tipos de datos aceptados por el cliente

Page 12: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?Mensajes de RESPUESTA.

� Constan, también, de tres partes:1ª parte. Campo de estado� VersiónHTTP CódigoEstado Explicación� VersiónHTTP: versión del protocolo.� HTTP/1.0 ó HTTP/1.1� CódigoEstado: número entre 200 y 599

� 2XX Éxito� 3XX Redireccionamiento� 4XX Error del cliente� 5XX Error del servidor

� Explicación: información descriptiva del estado

2ª parte. Líneas de cabeceras de respuesta:� Informan al cliente sobre el servidor y el recurso consultado.

3ª parte. Cuerpo de la respuesta� Datos enviados del servidor al cliente

Page 13: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?

Formato general de una respuesta y ejemplo:

Page 14: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

1. El servicio HTTP.

1.1 ¿Cómo funciona el protocolo HTTP?Campos de cabecera de respuesta comunes:� Location: nueva localización del documento solicitado.� Server: nombre y versión del software servidor� Date: día y hora en la que se transmite el documento� MIME-version: versión del protocolo MIME usada por el servidor.� Content-Length: longitud en bytes del cuerpo de la respuesta.� Content-Type: tipo MIME que identifica el tipo de dato de la respuesta.� Content-Type: tipo MIME que identifica el tipo de dato de la respuesta.� Last-Modified: fecha y hora en la que se modificó por última vez.

La cabecera de respuesta la construye:� El servidor si el recurso solicitado es un documento� El programa gateway (Content-Type, Content-Length) y el servidor.

Page 15: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

2. Los tipos MIMESon una forma abierta y extensible de representar el contenido de los datos. En la actualidad se ha generalizado su utilización y también puede llamárseles IMT.

MIME adjunta un archivo de cabecera a los documentos en el que indica el tipo de contenido del archivo. De esta manera, el servidor web y el navegador pueden manejar y mostrar los datos correctamente.Los MIME indican el tipo de archivo que se transfiere del servidor web al cliente o navegador web.navegador web.Se componen de tipos (indicados antes del carácter «/») y subtipos (después del carácter «/»). Por ejemplo, son tipos MIME:

�Text/html. Define todos los archivos de texto que contienen código HTML.�Video/mpeg. Define todos los archivos de vídeo almacenados en formato mpeg.� Image/*. Define todos los archivos de imagen almacenados en cualquier formato (gif, jpeg, bmp, etcétera).

�El prefijo especial x- queda reservado para tipos experimentales o tipos de uso interno de organizaciones.

Page 16: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

2. Los tipos MIME

Page 17: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

2. Los tipos MIMEEl protocolo HTTP usa los tipos MIME en sus cabeceras para, por ejemplo:1. Informar al cliente del tipo de datos que recibe del servidor con el

encabezado content-type. Un navegador típico puede manejar los datos de tres formas distintas según el tipo MIME indicado en content-type:-Visualizar el documento, por ejemplo con tipos text/html.- Llamar a una aplicación externa, por ejemplo con tipos application/pdf.- Preguntar al usuario qué hacer ante un tipo que no se entiende, como, - Preguntar al usuario qué hacer ante un tipo que no se entiende, como, por ejemplo, image/x-fwf.

2. Permitir la negociación de contenido. El cliente, en su petición, incluye los tipos MIME que acepta. Por ejemplo, si un navegador puede soportar documentos de tipo application/pdf, lo indicará en la cabecera HTTP:

Allow: application/pdf

3. Encapsular una o más entidades dentro del cuerpo de mensaje, mediante los tipos MIME multipart. Quizá el ejemplo más conocido sea el tipo multipart/form-data utilizado para encapsular los datos de un formulario en su envío hacia el servidor mediante el método POST.

Page 18: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

3. El servidor y el cliente web

3.1. El servidor web1. Atiende peticiones recibidas de los navegadores o clientes web y debe hacerlo de forma eficiente y segura.

2. La ubicación lógica de un servidor web es Internet, pero los hay que dan servicio a intranets o a redes locales.

3. Cuando un usuario ejecuta Firefox y hace clic sobre un enlace a una página web, enviará una solicitud al servidor web que aloja dicha página para que se la muestre (servir la página). dicha página para que se la muestre (servir la página).

4. Si la encuentra, la enviará y si no, transmitirá al cliente un mensaje de error.

5. Cuando el cliente recibe la página web, interpreta el código HTML y muestra las fuentes, colores, imágenes que la componen, etcétera, de forma correcta

Page 19: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

3. El servidor y el cliente web

3.1. El servidor web� El servidor web, además de suministrar páginas web HTML que no cambian (estáticas), también permite la ejecución de pequeños programas en diferentes lenguajes (PHP, CGI, Java, etcétera) que les proporcionan dinamismo.

� Los tres elementos básicos que componen las peticiones web dinámicas son: el cliente que la hace, el servidor que la atiende y los datos solicitados.

Page 20: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

3. El servidor y el cliente web

3.1. El servidor web

Page 21: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

3. El servidor y el cliente web

3.1. El servidor web1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada una dirección IP única que identifique al equipo en la red.

2. Cuando el navegador hace una petición al servidor web, utiliza un nombre que identifica al servidor.

3. Esta solicitud se transmite a un servidor DNS que 3. Esta solicitud se transmite a un servidor DNS que resuelve el nombre y devuelve la dirección IP correspondiente.

4. La solicitud del navegador se dirige al servidor web correcto.

La información que el usuario proporciona al navegador para conectar con un servidor web se llama URL (Uniform Resource Locator), que indica la forma de acceder a un recurso utilizando un protocolo de comunicación.

Page 22: Servicios en Red3. El servidor y el cliente web 3.1. El servidor web 1. Para que el navegador llegue al servidor web (ya sea en una red local o en Internet) éste debe tener asignada

3. El servidor y el cliente web

3.1. El cliente web� El cliente o navegador web es una aplicación que permite visualizar páginas web alojadas en servidores web, interpretar código HTML mostrando el contenido de la página en la pantalla y, si la página lo permite, interactuar con ella o navegar a través de enlaces a otras páginas web.� Los contenidos de las páginas web pueden ser de diferentes tipos: textos, imágenes, vídeos, etcétera. Su reproducción o visualización requiere otros complementos que son añadidos al navegador y que quedan integrados de forma transparente al usuario. �Además de este funcionamiento básico, se pueden ejecutar determinadas aplicaciones complementarias que aumentan la funcionalidad de la página web:1. Aplicaciones que se ejecutan en el cliente web, es decir en el equipo del usuario. El servidor 1. Aplicaciones que se ejecutan en el cliente web, es decir en el equipo del usuario. El servidor

envía el código al navegador y este lo ejecuta. Lógicamente, el navegador debe ser capaz de ejecutarlo y, para ello, a menudo requiere la instalación de extensiones.

2. Aplicaciones que se ejecutan en el servidor y generan un código HTML que se envía al navegador, que interpreta y muestra al usuario.

Entre los principales navegadores web están:�Mozilla Firefox�Internet Explorer�Otros: Amaya, Opera, Dillo o Chrome, o basados en texto como Lynx, Links, etcétera.