Arquitectura Web 2.0 (Dinámica en el servidor) Backend
Para entender cómo funciona la web iremos viendo cómo funciona de una manera sencilla a la más compleja. En esta entrada veremos los pasos para resolver una petición Web HTTP. O de cómo funciona un Backend Web
Elementos de la arquitectura Web
- Cliente Web/DNS: Navegador Web. Por ejemplo: Chrome, Safari, Firefox.
- Servidor DNS: Conversor de nombres a IP’s. Por ejemplo: BIND.
- Servidor Web: Almacén y procesador de la Información Web. Apache en nuestro caso.
- Contenedor de aplicaciones Web: módulo o servidor que permite la ejecución de aplicaciones web. Por ejemplo, módulo PHP o Python del Servidor Web. Componente ASP o ASPX de IIS. Servidor o Contenedor de Aplicaciones Web Java: Tomcat, Weblogic, Websphere, JBoss, Geronimo, etc…
Proceso de una Petición Web 2.0
- Cliente Web: Solicita la resolución de nombres, actúa como un cliente DNS, para que el servidor DNS traduzca el nombre que le pasa el cliente web. Por ejemplo: cursosdedesarrollo.com
- Servidor DNS: Recibe y trata la solicitud. Una vez recibida la petición realiza las consultas necesarias para resolver y obtener la dirección IP.
- Servidor DNS: Devuelve en la respuesta la dirección IP que corresponde al Servidor Web al navegador Web.
- Cliente Web: Conecta con el servidor web mediante la dirección IP y el puerto. Realiza la petición mediante una URL(Método GET) o un formulario (Método POST). Dicha solicitud incluye: la dirección IP del servidor web, el puerto del servidor web, URL y parámetros. En el caso de ser POST, normalmente sólo en el caso de formularios.
- Servidor Web: Control de Acceso, Análisis de la petición y localización del recurso. Como detecta que es el acceso a un fichero o ruta de aplicación tiene que traspasar el control al Contenedor de aplicaciones Web
- Paso de la petición del servidor web al contenedor de aplicaciones web
- El contenedor analiza la petición y en base a la ruta decide traspasar el control a la aplicación web
- Paso del control de la petición desde el CAW a la aplicación
- La aplicación recibe la petición y debe decidir que hacer en base a ella, es decir, elegir la funcionalidad que se encargará de gestionar esa petición, normalmente en base a la ruta, el método HTTP y los parámetros de entrada por URL. Una vez elegida ejecutará esa funcionalidad
- La aplicación normalmente tendrá que acceder a la BBDD para gestionar la información por lo que la aplicación se convertirá en el cliente de base de datos. Por lo que realizará una petición SQL a la base de datos.
- La Base de Datos recibirá la SQL y la procesará realizando los cambios que tenga que hacer en los datos.
- Una vez procesada la petición devolverá los datos en una respuesta a la aplicación web, normalmente un conjunto de datos. Por ejemplo los 10 últimos clientes.
- La aplicación web recibe estos datos y tiene que generar una salida, normalmente HTML, donde estructurará el contenido de los datos devueltos por la BBDD en etiquetas HTML.
- Devolverá una respuesta al Contenedor de Aplicaciones Web
- El contenedor Procesará la respuesta, para controlar la ejecución de la aplicación por si esta falla
- Devolverá el fichero al servidor web
- El servidor Web devolverá los datos dentro de la respuesta HTTP al navegador web
- Cliente Web: Presentación (renderiza) el contenido HTML resultante
- Repite los pasos 4-18 para obtener los ficheros relacionados: CSS, JS, Imágenes, etc…
Comments