Tema 4 – Servicio Web Punto 3 – Protocolo HTTP Juan Luis Cano.

Slides:



Advertisements
Presentaciones similares
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Advertisements

Internet y tecnologías web
Hardware y Software de servidor
UD4: “Instalación y administración de servicios Web” Protocolo HTTP.
Jorge de Nova Segundo UD 6: Instalación y administración de servicios de correo electrónico Servicio de correo electrónico vía web.
CI-2413 Desarrollo de Aplicaciones para Internet
Servicios de Internet (1)World Wide Web [WWW] (2)Transferencia de ficheros (FTP)
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Servicios Web.
SERVICIOS DE TCP/IP.
Tema 5 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
Servicios SFTP/SCP. Gabriel Montañés León.
Que es el protocolo “SSL”
"java del lado del servidor" Servlet y JSP Java Server Pages.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Características generales de un servicio Web.
D E F I N I C I O N E S.
WWW (World Wide Web) Pedro José López Javier Díaz
Francisco Arellano Méndez 6° “A” Inf Nl.5
Mecanismo de petición y respuesta Prof. Manuel Blázquez Ochando
HINARI – Acceso a los artículos: Problemas y Soluciones.
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Seguridad del protocolo HTTP
Protocolos de la Capa de Aplicación
WORLD WIDE WEB Conceptos básicos.
 El primer navegador Web incluía un lenguaje de estilo interno que utilizaba dicho navegador para mostrar las páginas HTML.  Sin embargo estos primeros.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Correo electrónico Internet
PROTOCOLO H T T P.
Por: Jorge Aguirre PUERTOS DE UN SERVIDOR WEB.  Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
Unidad didáctica 6 Diseño de páginas Web.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
 Epo 165  Profe Luis Daniel Sánchez paz  Alumna: María Guadalupe mondragon mondragon  Grado 1  Grupo 1  2do semestre  Nl 33.
Tecnologías web. Es el método más común de intercambio de información en la world wide web, el método mediante el cual se transfieren las páginas web.
RESUMEN CAPITULO 6.
PROTOCOLO HTTP ALGUNAS DEF.-
Seguridad DNS. Javier Rodríguez Granados.
Servicios en Red UT5. Servicios FTP.
Conceptos básicos sobre Internet
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
EDWIN ACOSTA PINILLA DIEGO FERNANDO CASTRO JHON SEBASTIAN CASTRO.
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
Servicio “streaming”.
Problemas Juridicos en Tecnologias de la Informacion Legislacion del Comercio Electronico Universidad Mundial.
NOMBRES: Daniel Andrés Martínez Pérez Jhon Alejandro Carrizosa Ovalle Jaiver Giovanny Sánchez García CURSO: JORNADA: Tarde.
Tema 4 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
File Transfer Protocol.
Jorge De Nova Segundo. SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación.
Punto 4 – Configuración de un Servidor Web Juan Luis Cano.
UD 1: “Introducción a los servicios de red e Internet”
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
Punto 1 – Introducción al servicio Juan Luis Cano.
Jorge De Nova Segundo. Funcionamiento del servicio DHCP. Tipos de mensajes. DHCP Asigna direcciones IP a otras máquinas de la red. Este protocolo puede.
Almacenamiento virtual de sitios web: «Hosts» virtuales
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
Elementos básicos para sistemas WEB. Que es la WEB Web es una tecnología que opera sobre internet que lleva propuesta desde El sistema de documentos.
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
COMPUTER DATA SYSTEMS Internet.
YUBER ANDRÉS LOAIZA OROZCO SERVIDOR PROXY GESTIÓN DE REDES DE DATOS.
LUIS VILLALTA MÁRQUEZ Servicio de correo electrónico vía web.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Planificación Curso UNIDAD 1. INTRODUCCIÓN A LOS SERVICIOS EN RED UNIDAD 2. SERVICIOS DHCP UNIDAD 3. SERVICIOS DNS UNIDAD 4. SERVICIOS DE ACCESO REMOTO.
Internet Infranet Protocolo World Wide Web Hipertexto Página web Sitio web Protocolo http Código HTML Editores HTML Portal Url Navegadores: A. Internet.
FTP Y HTTP. HTTP Y HTTPS El Protocolo de transferencia de hipertexto (HTTP, Hypertext Transfer Protocol), uno de los protocolos en el conjunto de aplicaciones.
Transcripción de la presentación:

Tema 4 – Servicio Web Punto 3 – Protocolo HTTP Juan Luis Cano

Protocolo HTTP Hypertext Transfer Protocol o HTTP (en español protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web. HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.

Funcionamiento El funcionamiento del protocolo HTTP es muy sencillo pero tiene varias funcionalidades para agilizar y mejorar el proceso por lo que puede resultar bastante complejo.

Funcionamiento Básico Todo el proceso se inicia cuando un cliente web (navegador) o una aplicación web envía una petición al servidor, conectándose por defecto por el puerto 80. Cuando se realiza la conexión el navegador envía una cabecera HTTP realizando la petición de la página que el usuario a solicitado en el navegador. Si no se especifica, el servidor buscará el fichero por defecto asignado (index.html), pero puede especificarse para que busque una dirección concreta de dicha página web. Cuando ha recibido el mensaje, el servidor responde al navegador mediante un mensaje HTTP ofreciéndole la página que ha pedido. Si se ha realizado correctamente, el mensaje HTTP tendrá un código válido, si no fuera así mandaría un mensaje de error (4XX o 5XX), siendo las X otros dos números.

Ejemplo de una petición del cliente web A continuación se muestra una petición HTTP típica, de la página principal de un sitio. Como puede verse se ofrecen muchos datos, como el cliente Web que pide la consulta (Firefox) y el tipo de datos que solicita (Imágenes) GET / HTTP/1.1 Host: www.24x7linux.com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x- mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 Accept-Language: es-es, en-us;q=0.66, en;q=0.33 Accept- Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO- 8859-15, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive

Mensajes HTTP Hay dos tipos de mensajes: De respuesta y de petición.

Mensajes de Petición Es el mensaje que envía el cliente al servidor para establecer una conexión vía HTTP y poder pedir un recurso o una página.

Mensajes de Respuesta Es el mensaje que envía el servidor para responder al cliente, enviándole la petición que ha realizado. Los mensajes de respuesta siempre tienen 3 secciones: la línea inicial de estados, las lineas de cabecera y el cuerpo de la entidad.

Métodos de petición El protocolo HTTP consta de ocho métodos de interactuación con el servidor: HEAD: Pide una respuesta idéntica a la que correspondería a una petición GET, pero sin el cuerpo de la respuesta. Esto es útil para obtener sólo los encabezados de respuesta, agilizando el proceso. GET: Pide una representación del recurso especificado. Por seguridad no debe ser utilizado ya que transmite información sobre algunos parámetros a la URL. DELETE: Borra el recurso especificado.

Métodos de petición restantes TRACE: Este método solicita al servidor que envíe de vuelta en un mensaje de respuesta, en la sección del cuerpo de entidad, toda la data que reciba del mensaje de solicitud. Se utiliza con fines de comprobación y diagnostico. OPTIONS: Devuelve los métodos HTTP que el servidor soporta para un URL específico. CONNECT: Se utiliza para saber si se tiene acceso a un host. POST: Somete los datos a que sean procesados para el recurso identificado. Los datos se incluirán en el cuerpo de la petición. PUT: Sube, carga o realiza una subida de un recurso especificado, es el camino más eficiente para subir archivos a un servidor.

Cabeceras Las Cabeceras HTTP o Metatags, son los parámetros que se envían en una petición o respuesta HTTP al cliente o al servidor para proporcionar información esencial sobre la transacción en curso. Estas cabeceras proporcionan información mediante la sintaxis 'Cabecera: Valor' y son enviadas automáticamente por el navegador o el servidor Web.

Cabeceras estandarizadas Las cabeceras estandarizadas de HTTP son las siguientes: Accept: Determina el tipo de contenido o MIME que se espera de la respuesta. Su valor debe ser una cadena MIME. Accept-Charset: Determina el set de caracteres aceptable en la respuesta. Su valor debe ser un código de caracteres IANA. Accept-Encoding: Determina la codificación (compresión) que se espera de la respuesta. Valores comunes suelen ser gzip, deflate o sdch. Accept-Language: Determina el idioma aceptado para la respuesta. Su valor debe ser cualquier código de lenguaje estandarizado Authorization: Determina la autentificación HTTP para la petición en curso.

Códigos de estado HTTP Ante cada transacción con un servidor HTTP, hay varios tipos de código con los que puede responder dicho servidor: 1XX: Mensajes Informativos. 2XX: Mensajes asociados con operaciones realizadas correctamente. 3XX: Mensajes de redirección, que informan de que es necesario realizar operaciones adicionales para llevar a cabo una operación. 4XX: Errores del cliente, dados por que se ha realizado una consulta errónea o no puede ser realizada la operación. 5XX: Error del servidor que no ha podido llevar a cabo la solicitud.

Tabla de códigos de respuesta HTTP Comentario Descripción 200 OK La operación se ha realizado correctamente 201 Created Como resultado de la operación, se ha creado un nuevo objeto ya disponible. La URL del objeto se adjunta en la respuesta. 202 Accepted Como resultado de la operación, se ha creado un nuevo objeto que todavía no está disponible. La URL del objeto se adjunta en la respuesta. 204 No Content La operación ha sido aceptada pero no ha producido ningún resultado. El cliente no deberá modificar el documento que se muestra. 301 Moved Permanently El objeto al que se quiere acceder ha sido movido a otro lugar permanentemente. El servidor proporciona, además, la URL donde se aloja el objeto. 302 Found El objeto al que se quiere acceder ha sido movido a otro lugar temporal. El servidor proporciona, además, la URL donde se aloja el objeto. 304 Not Modified Se devuelve cuando se realiza un GET condicional y el documento no ha sido modificado.

Tabla de códigos de error HTTP Comentario Descripción 400 Bad Request La petición tiene un error de sintaxis y no es entendible por el servidor. 401 Unauthorized La petición requiere un permiso especial, que normalmente es un nombre y una contraseña. 403 Forbidden El acceso a este recurso está prohibido. No es posible utilizar una clave para modificar la protección. 404 Not Found La URL solicitada no existe. 500 Internal Server Error El servidor ha tenido un error interno y no puede continuar con el procesamiento. 501 Not Implemented El servidor no tiene capacidad, por su configuración interna, para responder a la petición. 502 Bad Gateway El servidor, que está actuando como Proxy o Gateway, ha encontrado un error al acceder al recurso que había solicitado el cliente. 503 Service Unavailable El servidor está actualmente deshabilitado y no es capaz de atender al requerimiento.

Almacenamiento en caché La memoria caché HTTP es la parte del protocolo que permite a los clientes y servidores intercambiar información relacionada con la memoria caché. HTTP especifica varias cabeceras de caché para respuestas, como son: Cache-Control Expires ETag Last-Modified

Cabecera Caché-Control La cabecera Cache-Control es la única que no contiene una, sino varias piezas de información sobre la memoria caché de una respuesta. Cada pieza de información está separada por una coma:

Redirecciones El protocolo HTTP permite a los webmasters redireccionar sus páginas a otros enlaces mediante los códigos 301 y 302.

Diferencias entre redirecciones 301 y 302 Con la redirección 301 estamos indicando al buscador que esa redirección es permanente, es decir, que una URL A ha cambiado definitivamente a la URL B. Con la redirección 302 estamos indicando al buscador que esa redirección es temporal, es decir, que una URL A  se ha cambiado temporalmente a la URL B.

Compresión Se trata de comprimir la información enviada por el servidor del sitio web, dejando al navegador del visitante el trabajo de descomprimirlo. Esto se realiza automáticamente, sin que el visitante lo perciba ni deba intervenir.

Realizar una compresión en Apache Para realizarlo hay que descargar uno de los módulos del mismo, el mod_gzip

Cookies Para la autenticación, el protocolo HTTP incluye mecanismos tales como el digest access authentication, que permite acceder a una página web sólo cuando el usuario ha facilitado un nombre de usuario y contraseña correctos. Y ahí es donde se le dan sentido a las cookies

Repetición de los datos Una vez que se han introducido los credenciales, el navegador las almacena y las utiliza para acceder a las páginas siguientes, sin pedirlas de nuevo al usuario. Internamente, el nombre de usuario y la contraseña se envían al servidor con cada petición del navegador.

Autenticación En el contexto de una transacción HTTP, la autenticación de acceso básica es un método diseñado para permitir a un navegador web, u otro programa cliente, proveer credenciales en la forma de usuario y contraseña cuando se le solicita una página al servidor.

Conexiones Persistentes (Keep Alive) Antes de que esta característica existiese, se necesitaba una conexión TCP separada para cada petición. Cuando un documento utilizaba enlaces a otros ficheros externos, la transmisión era extremadamente ineficiente. HTTP en su última versión, proporciona la posibilidad de establecer sesiones de mayor duración de manera que se permiten múltiples peticiones sobre la misma conexión TCP. Esta característica llega a proporcionar en algunos casos hasta un 50 por cien de mejora en los tiempos de latencia entre documentos HTML.

Ventajas de Keep Alive Los principales beneficios al usar conexiones persistentes son: Se abren menos conexiones TCP, lo que ahora recursos (CPU, memoria, etc.). Se pueden entubar (pipeline) peticiones y respuestas en una conexión. Esto permite al cliente hacer múltiples peticiones sin esperar a las respuestas. Se reduce la latencia en peticiones al utilizar varias veces un canal ya abierto.

Punto 4 – Configuración de un Servidor Web