UD06. Servicios Web (2º SMR) PDF

Summary

This document provides an overview of web services, covering fundamental concepts like URLs, HTTP and HTTPS protocols. It also explores different web applications and client-server models. The document is appropriate for students at the secondary school level interested in the basic workings of web technologies.

Full Transcript

Traducido del catalán al español - www.onlinedoctranslator.com UD06. Servicios Web 2º SMR - Servicios en Red Índice 1. Introducción 2. Funcionamiento 3. Localizador URL 4. Protocolo HTTP 1. Mensajes HTTP 2. Coockies 5. Protocolo HTTPS 6. Aplicaciones Web 7. El Cliente W...

Traducido del catalán al español - www.onlinedoctranslator.com UD06. Servicios Web 2º SMR - Servicios en Red Índice 1. Introducción 2. Funcionamiento 3. Localizador URL 4. Protocolo HTTP 1. Mensajes HTTP 2. Coockies 5. Protocolo HTTPS 6. Aplicaciones Web 7. El Cliente Web 8. Servidores Web 2 1. Introducción Servicios Web 2º SMR - Servicios en Red 3 1. Introducción ✓ La World Wide Web (WWW o Web) es un sistema informático mundial de acceso y búsqueda de información formada por servidores web conectados a Internet. ✓ La Web nace en 1989 de la mano de Tim Bernes-Lee, investigador del CERN (Consejo Europeo para la Investigación Nuclear) en Ginebra, Suiza. ✓ La intención original era hacer más fácil compartir textos de investigación entre científicos. 4 1. Introducción ✓ En su diseño original se desarrolló la idea revolucionaria del hipertexto, es decir, texto con enlacesque permiten 'saltar' a otros textos. ✓ Por eso el protocolo principal de la comunicación web se va denominarHTTP (Hypertext Transport Protocol). ✓ HTTPSes la variante de HTTP con comunicación segura (encriptada mediante SSL o TLS). ✓ Los enlaces que permiten 'saltar' a cualquier otro sitio utilizan localizadoresURL (Uniform Resource Locator). ✓ La opción más común para crear un enlace en HTML es la etiqueta un_text>, donde es una etiqueta con su cierre , “un_text” es el hipertexto que se muestra en la web, y “un_enlace” es el enlace a otro sitio (por ejemplo una www.) 5 2. Funcionamiento Servicios Web 2º SMR - Servicios en Red 6 2. Funcionamiento ✓ La tecnología Web utiliza el modelo cliente-servidor: ✓ Cliente web:Típicamente un navegador web (como Firefox o Chrome) que utiliza un usuario para realizar peticiones a sitios web. ✓ Servidor web:Software que responde a peticiones para proporcionar recursos (texto, imágenes, etc.) mediante los protocolos HTTP/S. ✓ La comunicación se produce por TCP/IP. 7 2. Funcionamiento 1. El usuario solicita una dirección URL. 2. El software cliente solicita la URL mediante una petición HTTP o HTTPS (protocolos de la capa de aplicación). 3. El servidor web procesa la petición y responde con los recursos solicitados (archivos HTML, CSS, etc.) o con un código de error. 4. La respuesta llega al software cliente, que procesa los recursos y los muestra por pantalla al usuario. 2 4 3 1 8 2. Funcionamiento ✓ Para ver una página web es habitual realizar diversas peticiones como la del ejemplo anterior, ya que las páginas web que utilizamos hoy en día suelen necesitar de muchos recursos diferentes para funcionar: HTML, CSS, archivos multimedia, código JavaScript, etc. 11 3. Localizador URL Servicios Web 2º SMR - Servicios en Red 12 3. Localizador URL ✓ UnoURL (uniform resource locator), comúnmente dicho dirección URL, es un conjunto de caracteres que permiten denominar de forma única la localización de un recurso web. ✓ El formato más simple de una URL esprotocolo://servidor ✓ http://gva.es ✓ http://192.168.0.100 ✓ ssh:// 192.168.0.101 ✓ Puede incluir la ruta de archivo o carpeta:protocolo://servidor/ruta ✓ http://gva.es/index.html ✓ https://midrive.com/examenes/servicios/ ✓ ftp:// 192.168.0.102/mi_carpeta ✓ También el puerto a utilizar:protocolo://servidor:puerto/ruta ✓ http://10.32.0.50:8080/ ✓ https://midrive.com:9090/fotos/ ✓ Incluso credenciales:protocolo://user:pass@servidor:port/ruta ✓ http://admin: [email protected] ✓ http://profe: [email protected] :8080/inbox ✓ ssh://usuario: [email protected] :22/mi_carpeta 13 4. Protocolo HTTP Servicios Web 2º SMR - Servicios en Red 14 4. Protocolo HTTP ✓ Hypertext Transfer Protocol (HTTP). ✓ Primera versión oficial: HTTP/0.9 (1991) ✓ Versión estándar actual: HTTP/2.0 (2015). ✓ Es un protocolo sin estado: ✓ Cada petición es independiente puesto que no guarda información sobre las peticiones anteriores. ✓ Las aplicaciones web suelen necesitar de cierta información persistente o de sesión (usuario, etc.). Esto suele guardarse en 'cookies', pequeños archivos que se almacenan en el navegador cliente. ✓ HTTP utiliza el puerto80. Su variante segura HTTPS el443. ✓ Un mensaje HTTP puede ser una petición o una respuesta: ✓ Mensaje de petición: Contiene la petición de un cliente, normalmente solicitando obtener un recurso web o realizar alguna otra acción. Por ejemplo: GET, PUT, POST, HEADER, OPTIONS, DELETE, etc. ✓ Mensaje de respuesta: Contiene un código de estado seguido del recurso solicitado o alguna otra información relacionada. 15 4.1 Mensajes HTTP Un mensaje HTTP puede ser una petición o una respuesta: Mensaje de petición (request): ✓ Contiene la petición de un cliente, normalmente solicitando obtener un recurso web o realizar alguna otra acción. ✓ Los métodos más comunes son: ✓ GET: pide la representación del recurso especificado. También se puede utilizar para enviar datos en la URL de un formulario. ✓ Ej: GET /index.HTML HTTP/1.1 ✓ Ej: GET /formulario.HTML?usuario=tim&password=berners ✓ POST: envía información desde el cliente web al servidor, tal y como ocurre, por ejemplo, con los datos introducidos en un formulario web Los datos van en el cuerpo del mensaje. ✓ Ej: POST /formulario.HTML ✓ Además existen otros métodos de petición: ✓ PUT: similar a POST, pero si el recurso ya existe, será reemplazado. ✓ HEAD: Similar a GET, pero sólo solita las cabeceras. ✓ OPTIONS: para conocer los métodos de petición que el servidor ofrece. ✓ DELETE: borra un recurso en el servidor. ✓ CONECT: para establecer conexiones seguras TLS (HTTPS). ✓ TRACE: envía un mensaje de loop-back al servidor. Se usa para depuración. 16 4.1 Mensajes HTTP Un mensaje HTTP puede ser una petición o una respuesta: Mensaje de respuesta (response): ✓ Contiene el recurso solicitado u otra información relacionada, además de un código de estado. ✓ Código de estado => Número de 3 dígitos: ✓ 1xx: Informativos ✓ 2xx: Éxito ✓ 3xx: Redirección a otra URL. ✓ 4xx: Error de cliente ✓ 5xx: Error de servidor ✓ Los más comunes: ✓ 200: OK. ✓ 404: File Not Found. Petición válida pero el recurso no puede ser encontrado ✓ 500: Internal Server Error. Error inesperado en el servidor. 17 4.1 Mensajes HTTP Contenido de un mensaje request HTTP: ✓ Línea de petición: Una primera línea con el método de petición (GET, PUT, etc.), el recurso solicitado (URL) y la versión del protocolo. ✓ Líneas de cabecera: Las cabeceras son parámetros que se envían en una petición o respuesta HTTP al cliente o al servidor para proporcionar información. Cada cabecera va en una línea con la sintasis “campo: valor”. ✓ Son ejemplos de cabeceras: Host, User-Agent, Accept, Connection, Cookie, etc. ✓ Cuerpo de la entidad: va después de las cabeceras y una línea en blanco. Permite enviar un recurso, por ejemplo un formulario con PUT. 18 4.1 Mensajes HTTP Contenido de un mensaje response HTTP: ✓ Línea de estados: con la versión del protocolo, el código de estado y el estado (estas dos cosas significan lo mismo). ✓ Líneas de cabecera: No deben ser las mismas que las de request. ✓ Cuerpo de la entidad: dónde va el recurso solicitado si éste existe. 19 4.2 Cookies ✓ Las cookies son archivos que el navegador del cliente graba en su disco duro a petición del servidor. ✓ Almacenan datos que normalmente utiliza el servidor en otras conexiones. ✓ Se utiliza para: ✓ Guardar nombres de usuario y contraseñas ✓ Recopilar información de virus, hábitos de navegación de usuarios, spyware… y usos publicitarios. ✓ Según la legislación europea, es obligatorio pedir la instalación de plugins o tipo MIME para su navegador (PDF, Flash, ActiveX… ) ✓ Cuando un servidor envía una respuesta, incluye el parámetro Set- Cookie:name=value y, a partir de ese momento el cliente lo añade a todas las peticiones de ese servidor. ✓ En los navegadores las cookies se pueden activar, desactivar o preguntar cada vez que se vaya a enviar alguna. 20 4.2 Cookies ✓ Ejemplo de una captura real de HTTP con Wireshark. 5. Protocolo HTTPS Servicios Web 2º SMR - Servicios en Red 22 5. Protocolo HTTPS ✓ HTTPS(Hypertext Transfer Protocol Secure- Protocolo Seguro de Transferencia de Hipertext ) es un protocolo mejorado de HTTP que ofrece seguridad con SSL o TLS. ✓ Utiliza el puerto443 ✓ Se utiliza para la transferencia de contraseñas, pagos con tarjeta, bancos, etc. Aunque hoy en día la mayoría de las webs funcionan con HTTPS. ✓Requiere confianza de la Autoridad de Certificación que necesita instalar plugins en su navegador (VeriSign, Digicert, Google Trust, etc.). Una vez instalado, el navegador nos confirma que estamos en una zona segura o insegura. 23 5. Protocolo HTTPS ✓ TLS (Transport Layer Security) y su antecesor obsoleto SSL (Secure Socket Layer) son dos protocolos que ofrecen cifrado a nivel de tranporte (cifran todo lo que esté por encima de TCP o UDP). ✓ La forma de encriptar con TLS y las claves pública y privada es igual a la vista con SSH. El emisor encripta el mensaje (en este caso la página web o la solicitud) con la clave pública del receptor, y el receptor la desencripta con su clave privada. 24 6. Aplicaciones Web Servicios Web 2º SMR - Servicios en Red 25 6. Aplicaciones Web ✓ Son aquellas que los usuarios pueden utilizar accediendo a un servidor web a través de internet o intranet mediante un navegador. ✓ Suele tratarse de aplicaciones que se codifican en un lenguaje soportado por los navegadores. ✓ Son independientes de la versión del SO instalado en el cliente. ✓ La estructura de las aplicaciones web suele ser de esta forma: ✓ Navegador web ✓ Servidor: capaz de usar alguna tecnología web dinámica (PHP, Node.js, Python, Java) ✓ Una base de datos ✓ Funcionamiento: El navegador web manda peticiones al servidor, el cual ofrece servicios valiéndose de consultas y actualizaciones en la base de datos y, a su vez, proporciona una interfaz de usuario. 7. El cliente web Servicios Web 2º SMR - Servicios en Red 27 7. El cliente web ✓ Un cliente web es una aplicación que realiza consultas HTTP. ✓ Generalmente permite visualizar las páginas web alojadas en servidores web, interpretar HTML mostrando el contenido de la página en pantalla e interactuar con ella o navegar a través de enlaces a otras páginas web. ✓ Debe ser fácil de manejar por usuarios comunes. ✓ Contenidos de las web: ✓ Textos, imágenes, vídeos, etc. ✓ Aplicaciones complementarias: ✓ Las que se ejecuten en el cliente web (extensiones de Java, JavaScript, reproducción multimedia, visualizador de documentos, etc) ✓ Navegadores web: ✓ Mozilla Firefox, Internet Explorer, Chrome, Opera, DuckDuckGo, … 28 8. Servidores Web Servicios Web 2º SMR - Servicios en Red 29 8. Servidores Web ✓ Se instalan para el alojamiento de páginas web y para probar las aplicaciones web sin subirlas a Internet. Permiten ejecutar código para el acceso a bases de datos, aplicaciones web, etc. ✓ Las estadísticas de uso de los servidores web son: ✓ Nginx: 25-30% ✓ Apache: 20-25% ✓ Cloudflare Server: 5-8% ✓ OpenResty: : 5-8% ✓ LiteSpeed: 5-8% ✓ Microsoft IIS: 5-8% 30 8. Servidores Web ✓ Los requisitos necesarios para una página personal no son los mismos que los de una empresa por posible volumen de información. ✓ En una web con miles de visitas al día, la no disponibilidad del servicio es inadmisible, por lo que el hosting a contratar tendrá que ofrecer mayor calidad que para una web personal. ✓ Tipo de alojamientos web ✓ Alojamiento compartido gratuito: dispone de poca funcionalidad y disponibilidad. ✓ Alojamiento compartido: el más frecuente. Tu sitio web funciona en un servidor que aloja otros muchos sitios web. ✓ Servidor dedicado: el proveedor se encarga de la administración del servidor. 31 8. Servidores Web Prestaciones que suelen ser convenientes en un alojamiento web: ✓ Varios dominios: es interesante poder alojar bajo una misma cuenta varios dominios, de esta forma podremos llevar a cabo varios proyectos sin contratar un nuevo servicio de alojamiento. ✓ Acceso SSH: este servicio nos ofrece una cuenta Shell para entrar en el servidor UNIX o Linux y poder ejecutar comandos. Nos ahorrará mucho tiempo para descomprimir archivos, crear la estructura de directorios o realizar pequeños cambios en nuestro sitio web. Además, es interesante que los datos de identificación vayan cifrados a través de la red. ✓ Aceso FTP: Para poder subir archivos necesarios en tu web (audio, vídeo, imágenes). ✓ Base de datos: necesaria si los usuarios interactuarán con el sitio web y necesitarán un historial de registros de compras, preferencias, datos personales, etc. (MySQL, Postgre, etc.) ✓ Generación de páginas dinámicas: si se quieren utilizar páginas que varían dependiendo de la interacción que usuario haga de la página será necesario un lenguaje tipo back-end que se ejecute en el lado del servidor (PHP, Python, Node.js, etc.) 32 Práctica ✓ Realiza la práctica 1. 33 8. Servidores Web Apache ✓ Apache es un servidor web multiplataforma de código abierto. ✓ Su primera versión se lanzó en 1995. ✓ ¿Quién utiliza Apache? ✓ Algunos sitios conocidos que utilizan Apache son Cisco, IBM, Salesforce, General Electric, Adobe, VMware, LinkedIn, Facebook, Hewlett-Packard, AT&T, Siemens, eBay, entre otros. ✓ Entre sus principales características se encuentran: ✓ Acceso a distintos sitios webs mediante virtual hosts. ✓ Autenticación. ✓ Programación junto a servidor con PHP, Python o Perl entre otros. ✓ Seguridad TLS (HTTPS). ✓ Módulos de compresión para reducir el tamaño de las descargas. ✓ Prevención de intrusiones. ✓ Mensajes de error configurables. ✓ Negociación de contenido para utilizar versiones de recursos según clientes. ✓ Etc. Práctica ✓ Realiza la práctica 2. 35 8. Servidores Web Nginx ✓ Nginx es un servidor web multiplataforma de código abierto. ✓ Su primera versión se lanzó en 2004. ✓ El sistema es usado por una larga lista de sitios web conocidos como: WordPress, Netflix, Hulu, GitHub, SourceForge, TorrentReactor y partes de Facebook ✓ Entre sus principales características se encuentran: ✓ Acceso a distintos sitios webs mediante virtual hosts. ✓ Autenticación. ✓ Programación junto a servidor con PHP, Python o Perl entre otros. ✓ Seguridad TLS (HTTPS). ✓ Mensajes de error configurables. ✓ Streaming de archivos FLV y MP4.24 ✓ Soporte para autenticación. ✓ Compatible con IPv6 ✓ Compresión gzip. ✓ Habilidad para soportar más de 10.000 conexiones simultáneas. ✓ Etc. Práctica ✓ Realiza la práctica 3. ✓ Realiza la práctica 4 (Opcional). ✓ Realiza la práctica 5. 37

Use Quizgecko on...
Browser
Browser