Introducción a la programación Web 1 Objetivos originales de la Web • Lector universal – Los documentos existentes pueden ser accesados por cualquier tipo de computadora desde cualquier lugar • Interconexión – Hyperlinks. 2 Principios de diseño de la web • • • • • • • Universal Descentralizada Modular Extensible Escalable Accesible Versiones compatibles 3 Conceptos básicos • Uso de protocolos universales – TCP/IP, DNS, URLs, HTTP, HTML, FTP • Hypertext Hypermedia via HTML XHTML – Soporte para texto, imágenes, sonido, y scripting • Modelo Cliente/Servidor 4 Arquitectura WWW Cliente Browser Petición: http://www.msn.com/default.asp Red TCP/IP, HTTP Respuesta: <html>…</html> Servidor Servidor web 5 Stack de protocolos de red HTTP HTTP TCP TCP IP IP Ethernet Ethernet 6 Protocolo HTTP • Cliente/Servidor – HTTP Request – HTTP Response Las páginas se identifican mediante un Uniform Resource Locator (URL) http://www.msn.com/default.asp?name=Leon • • • • Protocolo: http Servidor: www.msn.com Página: default.asp parametros: ?name=Leon 7 HTTP es Stateless • HTTP no guarda el estado de las interacciones • Las peticiones son independientes entre sí • Esto tiene un gran impacto en la escalabilidad 8 Métodos HTTP • GET request-URL HTTP/1.1 – Solicita el recurso especificado por el request-URL y lo recibe en el cuerpo de la respuesta • POST request-URL HTTP/1.1 – Envía datos en el cuerpo del mensaje hacia la entidad especificada por el request-URL. • Otros (Put, Delete, Head,...) 9 Modelo C/S Presentation Client Server Server Application processing Data management 10 Modelo C/S multicapa Presentation layer Application processing layer Data management layer 11 Modelo C/S multicapa • Capa de presentación – Lee los datos proporcionados por el usuario y le presenta los resultados. • Capa de aplicación – Provee la funcionalidad específica de la aplicación. • Capa de manejo de datos – Maneja el almacenamiento persistente de los datos y los accesos en lectura y escritura. 12 Aplicaciones WEB Web server Server data Web client Server code HTTP REQUEST File system HTTP RESPONSE Other programs Database 13 Páginas estáticas y dinámicas Web client HTTP request Web server File system Web server Web Application Página estática HTTP response Web client HTTP request Página dinámica HTTP response 14 Ciclo de vida de una página web estática Web server HTTP request Server data Server code Request URL File system HTML file Web client HTTP response 15 Ciclo de vida de una página web dinámica Web server machine HTTP request Server data Server code URL Web client HTTP response Database SQL interaction HTML snippets Objects representing this web page 16 Arquitectura de una aplicación Servlets/JSP © 2014, Mike Murach & Associates, Inc. 17