Fundamentos de las Aplicaciones Web: Interacción Cliente-Servidor y HTTP

Diapositivas de la Universidad de la Rioja sobre Fundamentos de las Aplicaciones Web. El Pdf explica la interacción cliente-servidor para contenido estático y dinámico usando HTTP, con esquemas visuales. Es un material de Informática para Universidad.

Ver más

58 páginas

Departamento de
Matemáticas y Computación
Grado en Ingeniería Informática
Programación de
Aplicaciones
Web
HTTP
Fundamentos de las
Aplicaciones Web
Grado en Ingeniería Informática Programación de Aplicaciones Web 2 Francisco Pascual
Atribución
Esta presentación se encuentra bajo una Licencia Creative Commons
Atribución-NoComercial-CompartirIgual 4.0 Internacional .
Presentación basada en el material de Francisco J. García Izquierdo.
Departamento de Matemáticas y Computación.
Universidad de la Rioja.
Basado parcialmente en el material de la asignatura "Sistemas
Informáticos" por Jesús María Aransay Azofra

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

U.R. UNIVERSIDAD DE LA RIOJA

Fundamentos de las Aplicaciones Web HTTP Departamento de Matemáticas y Computación Grado en Ingeniería Informática Programación de Aplicaciones WebAtribución

CC $ BY NC SA Esta presentación se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional . Presentación basada en el material de Francisco J. García Izquierdo. Departamento de Matemáticas y Computación. Universidad de la Rioja. Basado parcialmente en el material de la asignatura "Sistemas Informáticos" por Jesús María Aransay Azofra Grado en Ingeniería Informática - Programación de Aplicaciones Web 2 Francisco Pascual

Objetivos de la Asignatura

  • Recopilar los conocimientos previos necesarios para seguir la asignatura, en la parte correspondiente a HTTP, HTML y CSS
  • Estos conocimientos ya se deberían tener en su mayor parte
  • Mostrar algunas herramientas para el desarrollo web

Grado en Ingeniería Informática - Programación de Aplicaciones Web 3 C Francisco Pascual

Bibliografía Recomendada

  • HTTP Essentials. Stephen Thomas. John Wiley & Sons, Inc (2001). ISBN: 0-471-39823-3
  • Hypertext Transfer Protocol -- HTTP/1.1. The Internet Society (1999) http://www.w3.org/Protocols/rfc2616/rfc2616.html
  • Web design: a beginner's guide. Wendy Willard. McGraw-Hill. ISBN: 978-0-07-170135-8.
  • Web design for developers. Brian Hogan. The Pragmatic Bookshelf. ISBN: 978-1-9343561-3-5
  • Introducción a CSS. Javier Eguiluz Pérez. Librosweb.es. CC BY- NC-ND 3.0. http://www.librosweb.es/css/
  • MDN Web Docs. https://developer.mozilla.org/es

Grado en Ingeniería Informática - Programación de Aplicaciones Web 4 Francisco Pascual

Agenda de Contenidos

  • Introducción
  • HTTP
    • URL
    • Estructura de los mensajes HTTP
    • La petición
    • La respuesta
    • Cabeceras destacables
    • Control de la caché
    • Peticiones Multipart
  • HTML
  • CSS
  • Herramientas de desarrollo

Grado en Ingeniería Informática - Programación de Aplicaciones Web 5 Francisco Pascual

Introducción a Aplicaciones Web

STOP . La complejidad de las aplicaciones web radica en la gran cantidad de tecnologías que intervienen · El protocolo de aplicación básico es HTTP O Aunque puede que intervengan otros (p.ej., email, websockets ... ) . Hay muchas tecnologías de más alto nivel aunque al final casi todo se reduce a confeccionar páginas HTML (con CSS y JavaScript) . Todo lo que se ve en este tema ya debería saberse. Grado en Ingeniería Informática - Programación de Aplicaciones Web 6 Francisco Pascual

Interacción Cliente-Servidor: Contenido Estático

STOP · Interacción contenido estático usando HTTP como protocolo de mensajería Cliente Petición Internet Páginas Multimedia CSS Scripts ... UR UNIVERSIDAD DE LA RIOJA Programación de Aplicaciones Web Respuesta HTTP/2 200 date: Sun, 02 Feb 2025 21:25:38 GMT content-type: text/html; charset=utf-8 age: 38 cache-control: public, max-age=0, must-revalidate referrer-policy: same-origin strict-transport-security: max-age=63072000 x-content-type-options: nosniff x-frame-options: SAMEORIGIN <! DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PAW</title> Grado en Ingeniería Informática - Programación de Aplicaciones Web 7 Francisco Pascual ... ... Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ac aliquam eros, eu fermentum tellus. In bibendum tellus mauris, pharetra mattis metus semper ut. Sed bibendum conque viverra. Phasellus nec magna quis libero sodales semper. Pellentesque scelerisque massa sodales purus rhoncus consequat. Donec placerat lectus a ornare porta. Suspendisse vitae lacinia odio. Vivamus varius iaculis enim, a eleifend lectus imperdiet sit amet. Fusce nec dui eget diam tempor lobortis et at est. Donec a mauris eu elit venenatis elementum ac nec lorem. Nam laoreet lacus finibus, gravida purus eu, aliquet orci. Donec malesuada erat massa. Vestibulum mollis ex eu nibh tempus interdum . > Vivamus sagittis lectus eget urna dignissi GET /recurso Servidor web

Interacción Cliente-Servidor: Contenido Dinámico

STOP · Interacción contenido dinámico usando HTTP como protocolo de mensajería Cliente A). Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ac aliquam eros, eu fermentum tellus. In bibendum tellus mauris, pharetra mattis metus semper ut. Sed bibendum conque viverra. Phasellus nec magna quis libero sodales semper. Pellentesque scelerisque massa sodales purus rhoncus consequat. Donec placerat lectus a ornare porta. Suspendisse vitae lacinia odio. Vivamus varius iaculis enim, a eleifend lectus imperdiet sit amet. Fusce nec dui eget diam tempor lobortis et at est. Donec a mauris en elit venenatis elementum ac nec lorem. Nam laoreet lacus finibus, gravida purus eu, aliquet orci. Donec malesuada erat massa. Vestibulum mollis ex eu nibh tempus interdum. > Vivamus sagittis lectus eget urna dignissi GET /recurso Petición Internet UNIVERSIDAD DE LA RIOJA Programación de Aplicaciones Web Respuesta HTTP/2 200 date: Sun, 02 Feb 2025 21:25:38 GMT content-type: text/html; charset=utf-8 age: 38 cache-control: public, max-age=0, must-revalidate referrer-policy: same-origin strict-transport-security: max-age=63072000 x-content-type-options: nosniff x-frame-options: SAMEORIGIN <! DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PAW</title> Servidor de aplicaciones Aplicación web Objetos de negocio ... - ... ERD Base de datos Grado en Ingeniería Informática - Programación de Aplicaciones Web 8 Francisco Pascual

Páginas Dinámicas: Servidor de Aplicaciones

STOP · El servidor pasa de "servidor web" a "servidor de aplicaciones" O Interpreta las peticiones O Localiza el programa adecuado para responder a una petición concreta O Lo ejecuta conectando su salida al canal de salida del socket asociado a la petición (y si hay entrada, al canal de entrada) Grado en Ingeniería Informática - Programación de Aplicaciones Web 9 Francisco Pascual

Páginas Dinámicas: Programas del Servidor

STOP · Los programas del servidor son tan simples como: O Obtienen datos de algún sistema de persistencia O Concatenan un string en formato HTML en el que incluyen los datos necesarios para responder la petición O Escriben ese string con HTML generado por su salida Grado en Ingeniería Informática - Programación de Aplicaciones Web 10 C Francisco Pascual

Páginas Dinámicas: Programación Web

STOP · La programación web consiste en hacer estos programas de la forma más reutilizable y clara posible O Así nacen las tecnologías ASP, servlets, JSP, PHP ... Grado en Ingeniería Informática - Programación de Aplicaciones Web 11 Francisco Pascual

URI: Identificador Uniforme de Recurso

. Una URI (Uniform Resource Identifier) es una secuencia de caracteres que identifica un recurso (físico o abstracto) de una forma unívoca y uniforme O https://www.rfc-editor.org/rfc/rfc3986.html · Su sintaxis es: O scheme ":" ["//" authority] path ["?" query] ["#" fragment] · Tipos de URI: O Uniform Resource Locator (URL) O Uniform Resource Name (URN) O Uniform Resource Characteristics/Citations (URC) O Data URI Grado en Ingeniería Informática - Programación de Aplicaciones Web 12 C Francisco Pascual

URL: Localizador Uniforme de Recurso

· Una URL (Uniform Resource Locator) es la forma de obtener un determinado recurso en Internet O https://www.rfc-editor.org/rfc/rfc1738 · Sintaxis general: O <scheme> :< scheme-specific-part> Sintaxis comun para esquemas basados en IP O protocolo://<user> :< password>@<host> :< port>/<url-path> · El protocolo indica el tipo de servidor que transmite el recurso O El puerto por defecto (http, 80; ftp, 21; ... O Y cómo obtener el recurso Los más habituales son http, ftp, file, etc Grado en Ingeniería Informática - Programación de Aplicaciones Web 13 C Francisco Pascual

Componentes de una URL

. El host puede indicarse mediante dirección IP o mediante nombre simbólico (DNS) · El puerto identifica al servidor dentro del host · El path indica el directorio donde está el recurso (relativo al directorio raíz del servidor) . La sección permite apuntar a una parte concreta dentro del recurso . Ejemplos O www.javasoft.com ¿es una URL? O ftp://public.ftp/lenguajes/java.doc O http://myhost:7400/doc.html#ejemplos Grado en Ingeniería Informática - Programación de Aplicaciones Web 14 C Francisco Pascual

URL Relativas

STOP · Una página HTML puede hacer referencia a otra indicando su URL de referencia · Cuando en la URL de referencia faltan elementos, éstos se toman de la URL de la pagina contenedora . A dicho tipo de URL incompletas se las denomina URL relativas · Supongamos que en la página http://hostA/public/index.html se encuentran las siguientes referencias: info.html /info.html datos/faq.html /datos/faq.html > http://hostA/public/info.html > http://hostA/info.html > http://hostA/public/datos/faq.html > http://hostA/datos/faq.html http://hostB/datos.html> http://hostB/datos.html Grado en Ingeniería Informática - Programación de Aplicaciones Web 15 C Francisco Pascual

Discusión sobre URL

¿Qué es mejor, usar referencias relativas o absolutas? Grado en Ingeniería Informática - Programación de Aplicaciones Web 16 Francisco Pascual

HTTP 1.1: Protocolo de Transferencia de Hipertexto

STOP · El protocolo HTTP (Hypertext Transfer Protocol) es el estándar para la comunicación entre browsers y servidores web. HTTP utiliza TCP/IP · El cliente envía un mensaje de petición al servidor y espera síncronamente la recepción de otro mensaje de respuesta. · No tiene estado · HTTP especifica cómo se establece la conexión, se solicita el recurso, se transmite y se cierra la conexión · Los mensajes de petición corresponden con diferentes operaciones: O GET: acceso a recursos O POST: envío de datos (formularios, u otros recursos) O PUT: usado en entornos REST O DELETE: usado en entornos REST O HEAD: como GET, pero no desencadena la descarga del recurso ) ... ⚫ http://www.w3.org/Protocols/rfc2616/rfc2616.html (superseded) · https://www.rfc-editor.org/rfc/rfc9110.html . https://www.rfc-editor.org/rfc/rfc7231 Grado en Ingeniería Informática - Programación de Aplicaciones Web 17 Francisco Pascual

Versiones del Protocolo HTTP

  • HTTP/0.9
    • Protocolo de una sola línea
  • HTTP/1.0
    • Versión del protocolo
    • Código de estado en la respuesta
    • Cabeceras
  • HTTP/1.1
    • Estandarización
    • Reutilización de conexiones
    • Negociación de contenido
  • HTTP/2
    • Multiplexado de conexiones
    • Protocolo binario
    • Compresión de cabeceras
    • Server Push
  • HTTP/3
    • Protocolos UDP sobre QUIC en vez de TCP

Grado en Ingeniería Informática - Programación de Aplicaciones Web 18 C Francisco Pascual

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.