Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. INTRODUCCIN
HTTP (Hyper Text Transfer Protocol)
Protocolo de capa de aplicacin que facilita a los usuarios el acceso a la informacin hipermedia residente en otro equipo de una red TCP/IP Su importancia radica en que junto con el modelo cliente-servidor son la base de la WWW ( World Wide Web)
2. WWW
Es un servicio de distribucin de informacin que permite acceder a multitud de recursos distribuidos por toda la Red Estos recursos se conectan entre s a travs de unos hiperenlaces que permiten la navegacin entre ellos
2. WWW
Creada en 1989 por Tim Berners-Lee y Robert Cailliau mientras trabajaban en el CERN (Centro europeo de Investigacin Nuclear) En la actualidad su desarrollo est controlado por el W3C (World Wide Web Consortium), una comunidad que desarrolla estndares web dirigida en la actualidad por Berners-Lee
2. WWW
Entre lo estndares desarrollados por W3C estn:
XHTML CSS XML
3. Componentes y funcionamiento
El servicio que ofrece la Web se basa en el modelo cliente servidor y esta formado por:
Recursos Nombres y direcciones (URL) Clientes web(navegadores) Servidores web Proxies web Protocolo HTTP Tecnologas web
Administracin de Sistemas Informticos en Red
6
3.1.Recursos
Existen multitud de ellos y pueden ser de muy diversa naturaleza:
Documentos Vdeos Audio Aplicaciones
3.1 Recursos
Pgina Web
Documento hipermedia (texto, imgenes, vdeo, audio) que normalmente contiene enlaces a otras pginas o recursos. Estn escritas en lenguajes que son interpretados y/o ejecutados Su contenido puede ser esttico o dinmico (se genera en el servidor web al ejecutar un conjunto de instrucciones de un determinado lenguaje)
3.1 Recursos
Sitio Web
Es un conjunto de pginas web relacionadas y accesibles a partir de un mismo nombre de dominio DNS. El conjuntos de sitios web de Internet constituyen la WWW
3.1 Recursos
Aplicacin Web
Es aquella donde el usuario interacta con un navegador que accede a unos servicios que ofrece un servidor web, una tienda electrnica y un cliente de correo web. Cada vez se ofrecen ms servicios basados en aplicaciones web:
Google maps Google Docs Dropbox
urn:isan:0000-0000-9E59-0000-O-0000-0000-2
URN para Spider-Man (2002 pelcula)
La mayora tiene una cach donde almacena datos que ha obtenido para reducir el trfico de red y aumentar la velocidad de acceso a los recursos.
Administracin de Sistemas Informticos en Red
23
4. MENSAJES HTTP
Son documentos en texto plano Contienen rdenes y parmetros Son de dos tipos: Peticin: de cliente a servidor Respuesta: de servidor a cliente
4.3.Mtodos de peticin
Especifican la operacin que quiere realizar el cliente en el servidor . HTTP 1.1 contempla los siguientes mtodos GET POST OPTIONS HEAD PUT DELETE TRACE CONNECT
Administracin de Sistemas Informticos en Red
37
Para enviar recursos al servidor Por seguridad no es habitual que los servidores permitan subir recursos utilizando el mtodo PUT
Se utiliza para eliminar recursos del servidor Por seguridad no es habitual que los servidores permitan eliminar recursos usando el mtodo delete.
4.4 CABECERAS
Sintaxis nombre: valor Definen metadatos, informacin sobre los datos HTTP 1.1 define 46 cabeceras Las aplicaciones pueden definir sus propias cabeceras, stas debern comenzar por X Existen diferentes tipos de cabeceras: Generales De peticin De respuesta De entidad Ampliar informacin a cerca de las cabeceras http en http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
Administracin de Sistemas Informticos en Red
48
5 ALMACENAMIENTO EN CACH
Los servidores web contienen informacin que no cambia a menudo. HTTP permite almacenamiento en cach para aumentar rendimiento y evitar trfico incecesario Los navegadores y los proxies pueden almacenar localmente recursos durante tiempo. Cabeceras para controlar el uso de cach son: Cache-Control, Last-Modified, Expires, Age, Etag, IfMatch, If-Modified-Since
6. REDIRECCIONES
Permite a los servidores y los proxies redirigir peticiones a otras localizaciones Algunas situaciones en las que puede ser til
El contenido se ha movido a otra URL Convertir una solicitud POST en una solicitud GET Redirigir la peticin a otro proxy Redirigir peticiones a Servlets, JSPs, ASPs, etc
7 COMPRESIN
Es posible que los servidores compriman los recursos solicitados antes de envirselos a los clientes para reducir el trfico de red Los clientes indican que aceptan compresin con Accept-Encoding Los servidores para hacerle saber al cliente que envian datos comprimidos utilizan Content-Encoded
8. COOKIES
Una cookie es un fragmento de informacin que enva un servidor en una respuesta HTTP y es almacenada, si el navegador lo permite El navegador puede enviar posteriormente la cookie al servidor en solicitudes posteriores Cuando un navegador realiza una solicitud HTTP si existen cookies no caducadas cuya ruta y dominio coinciden con los de la peticin se las enva al servidor usando cabeceras Cookies y Set-Cookies
Administracin de Sistemas Informticos en Red
57
8. COOKIES
Las cookies son utilizadas por los servidores para diferenciar usuarios y conexiones, as http que es un protocolo sin estado, cada transferencia es independiente de la anterior, cuando estamos en una conexin que exige usuario y contrasea usa las cookies para recordar quien es el usuario. Las cookies pueden ser aceptadas, borradas o bloqueadas segun configuremos el navegador.
Administracin de Sistemas Informticos en Red
58
8. COOKIES
Ejemplo de uso de cookies: Peticin GET /index.html HTTP/1.1 Host: www.example.org Respuesta HTTP/1.1 200 OK Content-type: text/html Set-Cookie: name=value Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT Peticin posterior GET /spec.html HTTP/1.1 Host: www.example.org Cookie: name=value; name2=value2
Administracin de Sistemas Informticos en Red
59
9. AUTENTICACIN
Mecanismo para controlar el acceso a los recursos que ofrece el servicio. La autenticacin se basa en el uso de cdigo de estado 401 y en las cabeceras WWWAuthenticate y Authoritation. Los navegadores muestran al usuario un cuadro de dilogo para que se identifique.
9. AUTENTICACIN
Algunos mecanismos son:
Basic: el cliente enva un usuario y una clave codificados con el algoritmo basic64. Mtodo no seguro, usurio y clave sin encriptar Digest: el cliente envia un usuario y una funcin hash de la clave al servidor . Es ms seguro pero sigue siendo bastante vulnerable.
La autenticacin que ofrece HTTP no es segura y por ello la autenticacin es responsabilidad de las aplicaciones web.
Administracin de Sistemas Informticos en Red
61
11.MIME
MIME (Multipurpose Internet Mail Extensions) Especificaciones orientadas a intercambiar en Internet texto, imgenes,audio .. usando protocolos como HTTP y SMTP Definen Una serie de tipos y subtipos (text/html, image/gif, text /css, audio/xmpeg...) que determinan el contenido de los recursos enviados a travs de la red. Un conjunto de reglas para codificar mensajes no ASCII
Administracin de Sistemas Informticos en Red
63
11.MIME
Un conjunto de cabeceras que son utilizados por los protocolos para informar a los clientes y servidores sobre los recursos transmitidos: MIME-Version: Versin de MIME Content-Description: Texto que describe el contenido Content-Id: Identificador nico. Content-Transfer-Ecoding. Cmo se codifican los datos binarios usando ASCII Content-Type: Tipo y Subtipo.
11. MIME
En HTTP se utilizan las cabeceras y tipos MIME en: Los mensajes de respuestas que enva el servidor para informar al cliente de los recursos que le enva. El navegador en funcin del tipo MIME recibido visualiza o reproduce el recurso, lo abre con una palicacin externa o pregunta al usuario qu hacer Los mensajes de peticin que envan los clientes para informar al servidor de los tipos MIME que acepta. Para encapsular uno o ms recursos en el cuerpo de mensaje usando un tipo MIME especial denominado multipart.
12. SEGURIDAD
Seguridad: HTTP no es un protocolo seguro
EL intercambio de informacin se realiza en texto plano. Los mecanismos de autenticacin Basic y Digest no son seguros No se usan mecanismos para asegurar que los equipos involucrados son quienes dicen ser Existen ataques que se basan en el robo o falsificacin de cookies y/o parmetros enviados en la URL o en el contenido de los mensajes y que permiten al atacante robar la identidad de un usuario.
66
12. SEGURIDAD
Seguridad(cont)
EL servidor web, el cliente y las aplicaciones web tambien tienen vulnerabilidadesy son objetivos constantes de los atacantes.
12. SEGURIDAD
HTTPS (Hiper Text Transfer Protocol Secure)
Es un protocolo que utiliza SSL o TLS para encapsular mensajes HTTP Utilizan algoritmos de encriptacin y certificados digitales para garantizar la confidencialidad, y la integridad de la informacin transmitida y la autenticidad de los servidores. Los clientes utilizan https en las URL Los servidores escuchan HTTPS en el puerto 443/TCP
Administracin de Sistemas Informticos en Red
68