Вы находитесь на странице: 1из 29

Capítulo 11.

Servicios HTTP

Instalación y Mantenimiento de Servicios


de Internet

I.E.S. Murgi
Curso 2006-2007
Jose L. Berenguel Gómez
Índice
1.¿Qué es HTTP?
2.Un poco de historia
3.Estructura de la WWW: modelo cliente-servidor
4.Características de los servicios HTTP
5.Protocolos seguros y claves
6.La firma electrónica
7.Navegador web
1. ¿Qué es el HTTP?
● HTTP (HyperText Transfer Protocol): Protocolo
de Transferencia de Hipertexto, creado para
compartir datos científicos a nivel internacional y
de forma instantanea.
● Es el método más común de intercambio de
información en la web.
● Descrito en el RFC 1945 (1996) y ampliado y
modificado en otros RFCs, el más utilizado es el
2616 (1999) que define la versión 1.1
● Existe una versión segura: HTTPS
2. Un poco de historia
● En 1990 se desarrolló un sistema de relación
documental basado en un formato de texto con
etiquetas (tags) que permitía enlazar documentos
entre sí, que recibió el nombre de World Wide
Web o telaraña mundial.
● Fue creado en el CERN (Consejo Europeo para
la Investigación Nuclear) concebido y promovido
por Tim Berners-Lee.
3. Estructura de la WWW:
modelo cliente-servidor
● La web funciona siguiendo un modelo cliente-
servidor en una red TCP/IP, local o
interconectada con las demás redes a través de
Internet.
● Cliente: el navegador solicita a un servidor Web
el envío de páginas de información. Lo que recibe
es un documento de texto HTML, que deberá
interpretar. Si recibe otro tipo de documento
pasará el control a una aplicación externa (pdf).
3. Estructura de la WWW:
modelo cliente-servidor
● Servidor: Atiende las peticiones procedentes de
los clientes HTTP.
● HTTP es un protocolo sin estado, no recuerda
ningún suceso de conexiones anteriores.
● Para resolver esta situación se utilizan las cookies
, que son ficheros de texto con información sobre
algunos aspectos de la conexión.
● Su utilización fue propuesta por Netscape. RFC
2109.
3. Estructura de la WWW:
modelo cliente-servidor
● Servidores HTTP:
– NCSA HTTPd: Uno de los primeros, además
gratuito. Actualmente el proyecto está abandonado y
el sitio web oficial recomienda utilizar Apache.
– Apache: basado en NCSA, actualmente se encuentra
en su versión 2. Es lider en Internet.
– Internet Information Server (IIS): Desarrollado por
Microsoft para sistemas Windows Server.
3. Estructura de la WWW:
modelo cliente-servidor
● Transferencia de páginas web:
– La petición se realiza escribiendo en el navegador su
dirección URL (Uniform Resource Locator) o URI
(Uniform Resource Identifier).
– El formato general de un URL es:
protocolo://máquina:puerto/directorio/fichero
protocolo://usuario:contraseña@máquina:puerto/direc
torio/fichero
– El navegador asume valores por defecto: protocolo
(http), puerto (80), archivo índice (normalmente
index.htm, index.html, index.php, etc.)
4. Características de los
servicios HTTP
● Existen tres métodos básicos de petición
propuestos en la versión HTTP 1.0, aunque la
versión 1.1 los amplía.
● Vamos a detallar los diferentes aspectos de una
comunicación HTTP
A) Comunicación HTTP
● Especificado en el RFC 2616. El contenido de los
mensajes son líneas de texto, que contienen
ordenes y parámetros con la sintaxis definida.
4. Características de los
servicios HTTP
A) Comunicación HTTP
● Cada transacción es una comunicación distinta
(sin estado).
● Dos tipos de mensaje: petición (request) y
respuesta (response).
● Formato del mensaje:
– Línea de comienzo: tipo de mensaje (orden HTTP con sus parámetros, request o
response).
– Líneas de encabezado (si son obligatorias) o cero (si son opcionales, acabadas con
un CR-LF
– Separador (CR-LF)
– Contenido o cuerpo del mensaje
4. Características de los
servicios HTTP
B) Métodos de petición (request)
● Formato de petición básico: método URI versión
● El método indica al servidor que debe hacer con el URI
[RFC 2396].
● La versión indica la versión del protocolo que el cliente
entiende.
● Ejemplo: GET /index.html HTTP/1.0
● La versión 1.0 de HTT contempla 3 métodos: GET,
HEAD y POST.
● La versión 1.1 añade otros: PUT, OPTIONS, DELETE
4. Características de los
servicios HTTP
C) Métodos de respuetas (response)
● Formato de respuesta básico: versión código_estado
texto_explicativo
● Ejemplo: HTTP/1.1 405 Method Not Allowed
● Ejemplo: HTTP/1.1 200 Ok
● Los códigos se clasifican en 5 grupos:
– Códigos 1xx: informativos
– Códigos 2xx: éxito de la solicitud
– Códigos 3xx: redireccionar la solicitud
– Códigos 4xx: error generado por el cliente
– Códigos 5xx: error generado por el servidor
4. Características de los
servicios HTTP
D) Líneas de encabezado HTTP
● Definen la información que se intercambia entre clientes
y servidores, por ejemplo, para la autentificación de
usuarios.
● Sintáxis: nombre_encabezado: valor
● Según su función tenemos los siguientes grupos:
– De ámbito general: utilizado por clientes y servidores
– De solicitud: para enviar información adicional a servidor
– De respuesta: para enviar información adicional al cliente
– De entidad: información relacionada con el recurso que
se le va a proporcionar al cliente
4. Características de los
servicios HTTP
E) Tipos MIME
● Los tipos MIME (Multipart Internet Mail
Extension) fueron utilizados para extender las
características del correo electrónico.
● Su uso se ha extendido, también son
denominados IMT (Internet Media Types).
● Se componen de un tipo y un subtipo. Ej: Un
documento de texto escrito en HTML text/html
● Están controlados por la IANA (Internet Asigned
Numbers Authority).
4. Características de los
servicios HTTP
E) Tipos MIME
● El prefijo “x-” queda resesrvado para tipos
experimentales, ej: image/x-fwf
● HTTP usa tipos MIME en los encabezados para:
– Informar al cliente el tipo de datos que está
recibiendo: encabezado Content-Type
● Visualizar el documento. Ej: text/html
● Llamar a una aplicación externa: Ej: application/pdf
● Preguntar al usuario qué hacer. Ej: image/x-fwf
4. Características de los
servicios HTTP
E) Tipos MIME
– Permitir la negociación de contenido. El cliente, en su
petición, incluye los tipos MIME que acepta.
Ejemplo: Allow: application/zip.
– Encapsular uno o más objetos dentro del cuerpo del
mensaje, mediante los tipos MIME multipart. Para
enviar los datos de un formulario con el método
POST: multipart/form-data
4. Características de los
servicios HTTP
F) Esquema de una comunicación
● El programa cliente establece conexión con el servidor
web.
● El cliente envía una petición indicando el método, la URI
y la versión del protocolo. Además, se pueden enviar
diversos encabezados.
● El servidor responde con una línea de estado. Además se
enviarán varios encabezados HTTP adicionales.
Finalmente, dentro del cuerpo del mensaje aparecerán los
datos solicitados.
● El programa servidor cierra la conexión
5. Protocolos seguros y claves
● Expondremos el protocolo SSL (Secure Socket
Layer) utilizado para transacciones.
● Se utilizan firmas digitales, algoritmos de
criptografía y algoritmos de digest o de resumen
de mensajes.
● Ejemplo de utilización: transacciones bancarias
● Diseñado y propuesto por Netscape
Communications Corporation.
● Nivel de sesión de la pila OSI.
5. Protocolos seguros y claves
● SSL ofrece: autenticación, integridad y
confidencialidad.
● Clave de sesión: se utiliza para cifrar los datos de la
comunicación. Diferente para cada transacción.
● Actuación del protocolo:
– Solicitud del cliente: el cliente solicita una URL con soporte
para SSL. A continuación se acuerda la conexión SSL
(handshake).
– Se establece la conexión SSL
– Verificación del servidor desde el cliente y acuerdo del
algoritmo de criptografía.
– Respuesta del servidor, con envio de su identificador.
5. Protocolos seguros y claves
5. Protocolos seguros y claves
● El cliente verifica la validez del identificador
digital del servidor, desencriptándolo y utilizando
su clave pública.
● El cliente genera una clave aleatoria y la encripta
utilizando la clave pública del servidor y el
algoritmo concertado. A continuación la envía al
servidor.
● Ambos conocen sus claves, e intercambian
información utilizando la clave secreta y el
algoritmo de cifrado acordado.
● Procotolo HTTPS: HTTP sobre SSL
6. La firma electrónica
● La firma electrónica permite identificar a la
persona que realiza una transacción.
● Aplicación: futuro DNI para realizar gestiones
oficiales de manera telemática.
A) Cifrado
● Podemos proteger la información que
intercambiamos en la web utilizando la
criptografía.
● Cifrado asimétrico más seguro que el simétrico,
pero presenta algunos problemas:
6. La firma electrónica
A) Cifrado
– La clave privada debe mantenerse en secreto.
– La clave pública es conocida por todos.
– Cualquier usuario puede manipular la clave pública
de otro, por este motivo aparecen las entidades que
certifican la autenticidad de la clave pública de un
usuario.
● Estas técnicas de cifrado garantizan la
confidencialidad, pero además podemos
garantizar la integridad y la autenticidad usando
la firma digital.
6. La firma electrónica
B) Firma digital y certificado digital
● Asegura que el usuario que firma el mensaje es
quien dice ser y que el mensaje no ha sido
modificado o manipulado por terceros.
● El usuario, tras escribir el mensaje lo firma con
su clave privada. Una vez firmado, si se realiza
cualquier modificación al mensaje, la firma no es
válida.
● El destinatario, que conoce la clave pública,
puede comprobar que el mensaje es auténtico y
no ha sido manipulado.
6. La firma electrónica
6. La firma electrónica
B) Firma digital y certificado digital
● Problema: el usuario es el encargado del cuidado
de las claves.
● Para obtener el certificado digital se debe acudir a
una autoridad certificadora.
● Se puede diferenciar entre firma electrónica y
firma digital:
– Firma electrónica: sistema de criptografía simétrico
– Firma digital: sistema de criptografía asimétrico (más
segura).
6. La firma electrónica
D) Autoridades certificadoras
● La misión de las autoridades certificadoras es
garantizar que el usuario sea realmente quien dice
ser.
● Tipos de certificados:
– B1. Certificado de correo temporal. Válido durante un mes o
un año. Correspondencia entre el nombre que proporciona el
usuario con una cuenta de correo válida.
– B2. Certificado personal, comprobando la identidad de la
persona mediante DNI. Tiene coste económico.
– B3. Además el usuario debe acudir al lugar establecido para
probar que realmente es quien dice ser. Debe pagar unas tasas.
6. La firma electrónica
D) Autoridades certificadoras
● Ejemplos de entidades de certificación:
– Fábrica Nacional de Moneda y Timbre:
www.cert.fnmt.es/certif/
– FESTE. Tres tipos de certificados: notariales,
certificados web y certificados para ser utilizados por
entidades privadas: www.feste.es
– IPSCA: Empresa española que comercializa la
emisión de certificados digitales: www.ipsca.es
– Verisign: www.versign.es
7. Navegador web
● Como cliente HTTP, el navegador es el punto con
más responsabilidad en el intercambio de
información en la web.
● Tipos de navegadores web:
– Modo gráfico: Explorer, Mozilla, Opera, Safari
– Modo texto: Los primeros clientes HTTP fueron de
este tipo. Dado que no se realiza tanto intercabio de
información, la navegación web es mucho más
eficiente: Lynx, w3m, w3m-img, Links o Net-Tamer.