Tema 2 El Servicio Web



Documentos relacionados
INTERCAMBIO DE OBJETOS

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

HTTP. Redes I. Departamento de Sistemas Telemáticos y Computación (GSyC) Noviembre de GSyC HTTP 1

Capa de Aplicación (Parte 2 de 2)

Funcionamiento de Servicios Web, FTP

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL.

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

TEMA 3: La Aplicación World Wide Web

La web (el servicio WWW)

Protocolos de WWW. Bibliografía: Redes de Computadores: un enfoque descendente basado en Internet : J.F Kurose y K.W. Ross. GSyC 2007.

HyperText Transfer Protocol

WEB Y HTTP. HTTP: Hypertext Transfer Protocol [RFC 1945] [RFC 2616] Web Page URL (Uniform/Universal Resource Identifier)

PREPARATORIA DIURNA DE CUAUTLA

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

Protocolo HTTP Apache. Servicios HTTP. Esteban De La Fuente Rubio L A TEX. Universidad Andrés Bello. 17 jun 2011

Servicio de publicación de información web (HTTP)

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Web. Web Diapositiva 1

Recuperación de Información en Internet Tema 2: La web

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

HyperText Transfer Protocol

Redes de Computadores II

5.1 Introducción. 5.2 El protocolo HTTP.

Redes de Computadoras Práctica 4: World Wide Web

Qué es la Web? (I) Arquitecturas Distribuidas 10/11

Introducción a Internet

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos

Introducción a las Redes de Computadoras. Obligatorio

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

Tema 4. II - Cookies. Arquitecturas Distribuidas 11/12

Tema 2: Protocolo HTTP.

Bloque II: El nivel de aplicación. Tema 3: Aplicaciones orientadas a conexión

Introducción al desarrollo WEB. Tecnologías Web

Aspectos prácticos de Internet

DESARROLLO WEB EN ENTORNO CLIENTE

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Desarrollo y servicios web

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

TEMA 8. Internet y la World Wide Web. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca

SERVIDOR WEB MULTIPLATAFORMA CON IMPLEMENTACIÓN CGI

Ataques Web Automáticos: Identificación, Engaño y Contraataque

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Host. En este texto, entenderemos por host toda máquina - léase computadora. Cuenta. Una cuenta, en general, es un espacio de memoria y de disco que

Crear un servidor Web en IIS

Router Teldat. Protocolo HTTP

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Práctica 1. Uso básico de servicios cliente-servidor

Programación páginas web. Servidor (PHP)

Arquitecturas Distribuidas. TEMA 1. Introducción a las arquitecturas distribuidas

Introducción a las Redes de Computadoras

SISTEMAS DE NOMBRES DE DOMINIO

CAPÍTULO I INTRODUCCIÓN

Reflexión. Inicio. Contenido

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

DESARROLLO DE APLICACIONES PARA LA WEB II

SSL Secure Socket Layer

INTRODUCCIÓN AL WEB. Pag. 1 de 10

Desarrollo y servicios web

HTTP, CGI, Applets y Servlets


Tema 4: Internet y Teleinformática. Informática Básica

13.2 WORLD WIDE WEB (www)

UNIDAD 3. Herramientas de Internet

DIPLOMADO EN SEGURIDAD INFORMATICA

PROTOCOLO HTTP. Hypertext Transfer Protocol

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis

Tema 1. Introducción a Internet y páginas web. ETSI ICAI! Departamento de Sistemas Informáticos! Rafael Palacios! Cristina Puente!

Introducción al desarrollo web (idesweb)

1. Introducción Perfiles de Usuarios Definir el primer perfil Añadir perfiles Introducción a Internet

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Aplicaciones Web. Introducción. David Cabrero Souto. Grupo MADS ( Universidade da Coruña

20h INFORMACIÓN Y COMUNICACIÓN INTERNET OBJETIVOS DEL CURSO. ÍNDICE 1 Introducción. 2 Internet Explorer Funciones principales

Internet y World Wide Web. Informática Aplicada Grado en GAP Fac. de Admón. y Dir. de Empresas Univ. Politécnica de Valencia

Tema 4: Diseño e Implementación de la Capa Web

Terminología utilizada en internet

PROGRAMACIÓN PÁGINAS WEB CON PHP

Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006

GLOSARIO DE TÉRMINOS

World Wide Web: toda la Internet en un solo "documento"

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA Departamento de Información Académica

CONCEPTOS BÁSICOS. HTML (Hypertext Markup Language) lenguaje de marcas de hipertexto Es el lenguaje en el que están escritas las páginas de la Web.

Programación páginas web con ASP.NET 3.5 (C#)

Indice Dominio y Hosting... 1 Dominio y Hosting fácil de entender con una imagen... 3 Cómo funciona el dominio y hosting?... 4 Términos más usados en

Aspectos básicos de redes Ing. Aníbal Coto Cortés

Sistemas Distribuidos Basados en la WEB

MANUAL DE USUARIO DE CUENTAS DE CORREO

ATEL ASESORES C.A IP Multimedia Subsystem Prof. Diógenes Marcano

Módulo II Unidad Didáctica 2

Testing de Seguridad de Aplicaciones Web

comunicaciones IP al servicio de su empresa configuración de clientes de correo para Hosted Exchange

Transcripción:

Tema 2 El Servicio Web Eduardo Martínez Graciá Humberto Martínez Barberá Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia

Introducción Nace en el CERN, en 1989 Surge de la necesidad de coordinar grupos investigadores internacionales. La propuesta inicial se debe a Tim Berners-Lee En 1991 aparecen los primeros prototipos (basados en texto) En 1993 aparece Mosaic, el primer navegador con interfaz gráfica, su autor fue Marc Andreessen. En 1994 se funda el WWW Consortium: http://www.w3.org Nuevas Tecnologías para la Transmisión de Información. Tema 2 2

El Modelo Web CGI - para interacción y contenido dinámico Servidor news Servidor ftp Bases de datos Software propietario URL para referencias Servidor HTTP Protocolo HTTP para transporte Browsers (navegadores) para visualizar HTML Browsers Browsers Componentes: Servidor WEB Navegador o Browser URL (Uniform Resource Locator) HTML (HyperText Markup Language) HTTP (HyperText Transfer Protocol) Nuevas Tecnologías para la Transmisión de Información. Tema 2 3

Hypertext Markup Language Lenguaje de descripción de contenidos Emplea etiquetas para marcar el comienzo y final de un formato "Pretende" ser independiente de la plataforma Incluye gráficos e hiperenlaces www.tres.com www.uno.com www.dos.com Nuevas Tecnologías para la Transmisión de Información. Tema 2 4

Uniform Resource Locator (1) Identificador de recursos de Internet Consta de: Protocolo: necesario siempre Nombre de dominio: equipo en el que se encuentra el servidor. Login y password (Opcional) Número de puerto: Opcional (se asume el valor por defecto) Localización: directorio y fichero. Opcional. Nuevas Tecnologías para la Transmisión de Información. Tema 2 5

Uniform Resource Locator (2) Ejemplos: Protocolo Dirección del recurso Detalles del recurso: directorio y fichero http://www.dif.um.es:8096/alumnos/primero/index.html Nombre de dominio Puerto telnet://mac.dif.um.es Detalles del recurso: nombre del servidor mailto:edumart@fcu.um.es Detalles del recurso: dirección electrónica Nuevas Tecnologías para la Transmisión de Información. Tema 2 6

Uniform Resource Locator (3) Especificadores de protocolo: Especificador ftp Protocolo File Transfer Protocol gopher Gopher protocol http HyperText Transfer Protocol https Secure HTTP mailto Dirección de correo de Internet news NNTP Usenet Protocol telnet Protocolo Telnet wais Protocolo WAIS file Acceso a ficheros locales URL con login y password: //nombreusuario:password@nombre.dominio:puerto/ Nuevas Tecnologías para la Transmisión de Información. Tema 2 7

Servidor Web Puerto 80 pagina1.html INTERNET Petición del CLIENTE URL SERVIDOR WEB htdocs dir1 pagina2.html Páginas estáticas dir2 pagina1.html CGI Puerto 80, protocolo de transporte TCP Dos tipos de recursos: cgi-bin Páginas HTML estáticas Programas gateway con el interfaz CGI (Common Gateway Interface) Los recursos se identifican con URLs busqueda.cgi inscripcion.cgi Contenido dinámico Base de datos Nuevas Tecnologías para la Transmisión de Información. Tema 2 8

Navegador (1) El control de la conexión reside en el navegador El navegador interpreta el contenido de acuerdo con el tipo MIME (Multiporpose Internet Mail Extensions) La mezcla de hipertexto y otros medios se llama hipermedia En función del Content-Type de un documento, el navegador lanza un visor externo o helper El navegador dispone de una caché local con la que reduce el número de peticiones Facilita la navegación con botones y resaltando los hiperenlaces Nuevas Tecnologías para la Transmisión de Información. Tema 2 9

Navegador (2) mime.types HTTP Cliente Servidor GET sonido.au Content-Type: audio/basic Content-Transfer-Encoding: 8bit %H&287xsq3eUH/&!HI... sonido.au Nuevas Tecnologías para la Transmisión de Información. Tema 2 10

Hypertext Transfer Protocol (HTTP) Funcionamiento HTTP básico: El cliente abre una conexión con el servidor web El cliente envía un mensaje de petición El servidor envía un mensaje de respuesta El servidor cierra la conexión 1. Abre la conexión 2. Petición 3. Respuesta Cierra la conexión BROWSER SERVIDOR WEB Nuevas Tecnologías para la Transmisión de Información. Tema 2 11

HTTP (1) 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 el cliente 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 cabeceras de petición Informan al servidor sobre el cliente y lo que solicita. 3ª parte. Cuerpo de la petición Datos transferidos del cliente al servidor Nuevas Tecnologías para la Transmisión de Información. Tema 2 12

HTTP (2) Formato general de una petición HTTP y ejemplo: method sp URL sp version cr lf nombre de cabecera : valor cr lf Línea de petición Líneas de cabeceras nombre de cabecera : valor cr lf cr lf Cuerpo de la petición GET /servicios/prueba.html HTTP/1.1 Host: ants.dif.um.es Connection: close User-agent: Mozilla/4.06 Accept-language: es Accept: */html Accept: */text [Una línea en blanco, conteniendo sólo CRLF] Nuevas Tecnologías para la Transmisión de Información. Tema 2 13

HTTP (3) 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 actual 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 Nuevas Tecnologías para la Transmisión de Información. Tema 2 14

HTTP (4) Mensajes de respuesta. Constan, también, de tres partes: 1ª parte. Línea 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 Nuevas Tecnologías para la Transmisión de Información. Tema 2 15

HTTP (5) Formato general de una respuesta y ejemplo: version sp código estado sp frase cr lf Línea de estado nombre de cabecera : valor cr lf Líneas de cabeceras nombre de cabecera : valor cr lf cr lf Cuerpo de la respuesta HTTP/1.1 200 OK Connection: close Date: Tue, 09 Mar 1999 19:49:56 GMT Server: Apache/1.2.4 Last-Modified: Tue, 09 Mar 1999 19:44:32 GMT Content-Length: 120 Content-Type: text/html <html><head> <title> Fichero HTML de prueba </title> </head><body> <h1>este es un fichero de prueba</h1> </body></html> Nuevas Tecnologías para la Transmisión de Información. Tema 2 16

HTTP (6) 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 Last-Modified: fecha y hora en la que se modificó por última vez Nuevas Tecnologías para la Transmisión de Información. Tema 2 17

Cookies (1) Una cookie es información que un servidor puede enviar al cliente para que éste la almacene y se la reenvíe en posteriores accesos. La transferencia de la cookie se realiza en un mensaje de respuesta HTTP (RFC 2109). Set-Cookie: nombre=valor; expires=fecha; path=camino; domain=ambito; secure Almacén de Cookies Cliente Cookie: nombre1=valor1; nombre2=valor2;... Aplicaciones de las cookies: Recordar preferencias de un cliente para generar contenido personalizado Para almacenar información de sesión (ej: carro de la compra) En general: para simular sesiones, dado que el protocolo HTTP carece de ellas. Nuevas Tecnologías para la Transmisión de Información. Tema 2 18 Servidor

Cookies (2) Iniciación de la cookie por el servidor HTTP: insertado por un CGI en la directiva Set-Cookie de la cabecera de respuesta HTTP. nombre=valor : asocia a una propiedad un valor específico. Espacio, coma y punto y coma se deben traducir al código URL. expires=fecha : fecha de caducidad de la cookie. Formato: weekday, DD-Month-YYYY HH:MM:SS GMT Por defecto: al cerrar el navegador. domain=ámbito : el cliente identifica con ámbito si debe enviar el cookie al servidor accedido. Por defecto: el servidor que genera la cookie. path=camino : especifica los recursos a los que se envía la cookie. Por defecto: el script que genera la cookie. secure : sólo se envía cuando se emplea el protocolo HTTPS Un servidor puede insertar varias directivas Set-Cookie en la cabecera Una cookie se puede eliminar indicando en expires una fecha pasada Nuevas Tecnologías para la Transmisión de Información. Tema 2 19

Cookies (3) Devolución de una cookie por parte del cliente Al conectarse a un servidor web, el navegador comprueba si dispone de alguna cookie con domain y path que verifican la URL consultada Con las cookies que verifiquen la URL, el navegador inserta en la cabecera de petición: Cookie: nombre1=valor1; nombre2=valor2;... Nuevas Tecnologías para la Transmisión de Información. Tema 2 20

GET condicional (1) Objetivo: uso de cachés de Web para evitar la transferencia de recursos web. HTTP permite al cliente comprobar si un objeto almacenado en caché ha sido modificado. GET condicional: la solicitud HTTP incluye la cabecera If-Modified-Since. Ejemplo: un cliente solicita un objeto que no está en caché: GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 Nuevas Tecnologías para la Transmisión de Información. Tema 2 21

GET condicional (2) El servidor envía un mensaje de respuesta con la cabecera Last- Modified, que se asocia al objeto en la caché del cliente HTTP/1.0 200 OK Date: Web, 12 Aug 1998 15:39:29 Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 09:23:24 Content-Type: image/gif (data) Una nueva solicitud del mismo objeto incluye la cabecera If- Modified-Since con la fecha de última modificación del objeto en caché. GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 If-modified-since: Mon, 22 Jun 1998 09:23:24 Nuevas Tecnologías para la Transmisión de Información. Tema 2 22

GET condicional (3) Respuesta del servidor, en caso de que no se haya modificado el objeto desde la fecha indicada en la cabecera de petición If-Modified-Since HTTP/1.0 304 Not Modified Date: Wed, 19 Aug 1998 15:39:29 Server: Apache/1.3.0 (Unix) (cuerpo vacío) Nuevas Tecnologías para la Transmisión de Información. Tema 2 23

Servidores proxy Son entidades de red en las que los clientes delegan la realización de solicitudes HTTP. Secuencia de uso de un proxy: El navegador establece una conexión con el proxy y le envía la solicitud HTTP. La cabecera Host indica el servidor original. El proxy comprueba si tiene una copia del objeto almacenada localmente. En tal caso, le envía el objeto al navegador en un mensaje HTTP de respuesta. Si el proxy no tiene el objeto, abre una conexión con el servidor original y le envía una petición HTTP del objeto requerido por el navegador. El servidor original envía la respuesta al servidor proxy. El proxy almacena una copia en su caché y redirige otra copia en una respuesta HTTP al navegador, por la conexión establecida en el primer paso. Ventajas del uso de proxys: Reducción del tiempo de respuesta Reducción del tráfico web a través de la red de acceso a Internet, y por tanto reducción del coste de conexión. Nuevas Tecnologías para la Transmisión de Información. Tema 2 24