Un navegador es una aplicación de software utilizada para localizar, recuperar y mostrar contenidos en la World Wide Web, incluyendo páginas web, imágenes, vídeos y otros archivos. Como modelo cliente/servidor, el navegador es el cliente que se ejecuta en un ordenador que se pone en contacto con el servidor web y solicita información. El servidor web devuelve la información al navegador web, que muestra los resultados en el ordenador o en otro dispositivo con acceso a Internet que admita un navegador.
Los navegadores actuales son suites de software totalmente funcionales que pueden interpretar y mostrar páginas web HTML, aplicaciones, JavaScript, AJAX y otros contenidos alojados en servidores web.
Muchos navegadores ofrecen plug-ins que amplían las capacidades del software para que pueda mostrar información multimedia (incluyendo sonido y vídeo), o el navegador puede utilizarse para realizar tareas como videoconferencias, para diseñar páginas web o añadir filtros antiphishing y otras características de seguridad al navegador.
-
La interfaz de usuario: La interfaz de usuario es el espacio donde el usuario interactúa con el navegador. Incluye la barra de direcciones, los botones de atrás y siguiente, el botón de inicio, refrescar y parar, la opción de favoritos, etc. Todas las demás partes, excepto la ventana en la que se muestra la página web solicitada, se encuentran bajo ella.
-
El motor del navegador: El motor del navegador funciona como un puente entre la interfaz del usuario y el motor de renderizado. Según las entradas de varias interfaces de usuario, consulta y manipula el motor de renderizado.
-
El motor de renderizado: El motor de renderizado, como su nombre indica, es responsable de renderizar la página web solicitada en la pantalla del navegador. El motor de renderizado interpreta los documentos HTML, XML y las imágenes formateadas con CSS y genera el diseño que se muestra en la interfaz de usuario. Sin embargo, utilizando plugins o extensiones se pueden mostrar también otros tipos de datos.
Los distintos navegadores utilizan diferentes motores de renderizado:
- Internet Explorer: Trident
- Firefox& otros navegadores de Mozilla: Gecko
- Chrome & Opera 15+: Blink
- Chrome (iPhone) & Safari: Webkit
-
Red: Componente del navegador que recupera las URLs utilizando los protocolos comunes de Internet de HTTP o FTP. El componente de red maneja todos los aspectos de la comunicación y la seguridad en Internet. El componente de red puede implementar una caché de documentos recuperados para reducir el tráfico de la red.
-
Intérprete de JavaScript: Es el componente del navegador que interpreta y ejecuta el código javascript incrustado en un sitio web. Los resultados interpretados se envían al motor de renderizado para su visualización. Si el script es externo, primero se obtiene el recurso de la red. El parser se mantiene en espera hasta que el script es ejecutado.
-
UI Backend: El backend UI se utiliza para dibujar widgets básicos como cuadros combinados y ventanas. Este backend expone una interfaz genérica que no es específica de la plataforma. Por debajo utiliza los métodos de la interfaz de usuario del sistema operativo.
-
Persistencia/almacenamiento de datos: Se trata de una capa de persistencia. Los navegadores soportan mecanismos de almacenamiento como localStorage, IndexedDB, WebSQL y FileSystem. Es una pequeña base de datos creada en el disco local del ordenador donde está instalado el navegador. Gestiona los datos del usuario como la caché, las cookies, los marcadores y las preferencias.
Una cosa importante a tener en cuenta aquí es que en los navegadores web como Google Chrome cada pestaña se ejecuta en un proceso separado (múltiples instancias del motor de renderizado).