Curso de Javascript: Introducción

Introducción al Protocolo Web

Una de las cuestiones principales cuando empezamos a hacer web es entender exactamente cuales son las tecnologías y programas que intervienen en el proceso de generación de un sitio o una página web.

Para ello tenemos esta introducción que nos servirá para

Glosario de términos

A continuación se detallan un glosario de términos que permiten entender mejor la arquitectura Web:

Arquitectura de la Web

Una vez conocidos estos nuevos conceptos es necesario que nos hagamos una idea de la como encajan todas estas piezas dentro de la arquitectura, para ello nos ayudaremos del siguiente gráfico.

Como puede verse en el gráfico dichos componentes se conectan formando un procedimiento que indica la secuencia de llamadas entre los distintos componentes. A continuación detallaremos todos los componentes:

Proceso de carga de una página web

A continuación se detallarán los pasos que realizan el cliente y el servidor de una arquitectura web: 0. Todo el procedimiento empieza cuando el usuario ha introducido una URL en el navegador web. Por ejemplo: www.google.es

  1. El Cliente Web solicita una conversión del nombre de una máquina al Servidor DNS. En este caso actúa como un cliente DNS.
  2. El Servidor DNS recibe la solicitud. Una vez recibida la petición realiza las consultas necesarias para resolver y obtener la dirección IP.
  3. El Servidor DNS devuelve la dirección IP correspondiente al navegador Web.
  4. El Navegador Web conecta contra el Servidor Web mediante la dirección IP y el Puerto (normalmente el 80) y realiza la solicitud de información mediante una URL de página (Método GET) o un formulario (Método POST). Dicha solicitud incluye: la dirección del servidor web, el puerto del servidor web, URL y parámetros POST(esta sólo en el caso de formularios normalmente).
  5. El Servidor Web realiza el Control de Acceso, el Análisis de la petición y localización del recurso. El Servidor Web determina que es necesario obtener la web desde el contenedor de aplicaciones web.
  6. El Servidor Web llama al Contenedor de aplicaciones web para que resuelva él la petición.
  7. El contenedor de aplicaciones web localiza la aplicación requerida mediante la URL.
  8. El contenedor de aplicaciones web traspasa el control a la aplicación web elegida.
  9. Aplicación Web: Recoge los parámetros y la URL y la interpreta para localizar la funcionalidad que resolverá finalmente la petición.
  10. La aplicación web conecta y realiza una consulta SQL al Servidor de SGBD.
  11. El SGBD recoge la petición SQL y la procesa.
  12. El SGBD devuelve los resultados a la aplicación web.
  13. La Aplicación Web procesa de los datos devueltos por el SGBD y genera del HTML resultante.
  14. La aplicación web devuelve el HTML resultante al contenedor de aplicaciones web.
  15. El contenedor de aplicaciones devuelve el HTML al Servidor Web.
  16. El servidor Web devuelve el HTML al cliente Web.
  17. Cliente Web: Presentación del HTML resultante, CSS y elementos relacionados y ejecución del Javascript.

Dentro del Navegador Web

Como se ha explicado en el punto anterior es necesario que el navegador web interprete los datos que recibe y se los presente al usuario.

Para ello es necesario conocer un poco los componentes básicos que tienen todos los navegadores y el proceso que sucede internamente de gestión de la información de cara a entender el funcionamiento de Javascript (JS a partir de ahora).

Para ello incorporaremos el siguiente gráfico:

Como puede observarse después de haber lanzado la petición web en el paso 4 del anterior diagrama es necesario que el navegador esté a la espera de una respuesta, tal como sucede en el paso 16.

Para ello está escuchando en el socket al flujo de información que proviene del servidor web.

Según va recibiendo los datos 17.1, los va traspasando al Parser DOM 17.2, el parser va interpretando el flujo 17.3 y lo va convirtiendo dentro del DOM o el objeto document 17.4, si se encuentra código JS será necesario que lo ejecute 17.5, el motor lo interpreta y realiza los cambios sobre el DOM si es necesario 17.6, a cada cambio ocurrido en el DOM se invoca al motor de Render 17.7, que es el responsable de dibujar sobre la ventana 17.8, el objeto window.

A partir de ese momento el navegador estará pendiente del las distintas acciones que pueda realizar el usuario sobre la ventana y sus distintos elementos a fin de ejecutar las funciones estándar asociadas a dichos eventos. Esta parte la explicaremos en más profundidad en el apartado de Eventos JS.

Resumen

En este primer punto hemos podido observar cuáles son los elementos principales del a web y el procedimiento de carga de una página web, tanto desde la perspectiva del protocolo http como internamente dentro del propio navegador.

Licencia Creative Commons

Este obra está bajo una licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.