Un browser è un’applicazione software usata per localizzare, recuperare e visualizzare contenuti sul World Wide Web, incluse pagine web, immagini, video e altri file. Come modello client/server, il browser è il client eseguito su un computer che contatta il server web e richiede informazioni. Il server Web invia le informazioni al browser Web che visualizza i risultati sul computer o su un altro dispositivo abilitato a Internet che supporta un browser.
I browser di oggi sono suite di software completamente funzionali che possono interpretare e visualizzare pagine Web HTML, applicazioni, JavaScript, AJAX e altri contenuti ospitati sui server Web.
Molti browser offrono plug-in che estendono le capacità del software in modo che possa visualizzare informazioni multimediali (inclusi suoni e video), o il browser può essere usato per eseguire compiti come la videoconferenza, per progettare pagine web o aggiungere filtri anti-phishing e altre caratteristiche di sicurezza al browser.
-
L’interfaccia utente: L’interfaccia utente è lo spazio in cui l’utente interagisce con il browser. Include la barra degli indirizzi, i pulsanti back e next, il pulsante home, refresh e stop, l’opzione bookmark, ecc. Ogni altra parte, eccetto la finestra dove viene visualizzata la pagina web richiesta, viene sotto di essa.
-
Il motore del browser: il motore del browser funziona come un ponte tra l’interfaccia utente e il motore di rendering. Secondo gli input delle varie interfacce utente, interroga e manipola il motore di rendering.
-
Il motore di rendering: Il motore di rendering, come suggerisce il nome, è responsabile del rendering della pagina web richiesta sullo schermo del browser. Il motore di rendering interpreta l’HTML, i documenti XML e le immagini che sono formattati usando i CSS e genera il layout che viene visualizzato nell’interfaccia utente. Tuttavia, utilizzando plugin o estensioni è possibile visualizzare anche altri tipi di dati.
Diversi browser usano diversi motori di rendering:
- Internet Explorer: Trident
- Firefox & altri browser Mozilla: Gecko
- Chrome & Opera 15+: Blink
- Chrome (iPhone) & Safari: Webkit
-
Networking: Componente del browser che recupera gli URL utilizzando i comuni protocolli internet di HTTP o FTP. Il componente di rete gestisce tutti gli aspetti della comunicazione Internet e della sicurezza. Il componente di rete può implementare una cache dei documenti recuperati al fine di ridurre il traffico di rete.
-
JavaScript Interpreter: È il componente del browser che interpreta ed esegue il codice javascript incorporato in un sito web. I risultati interpretati sono inviati al motore di rendering per la visualizzazione. Se lo script è esterno, allora prima la risorsa viene recuperata dalla rete. Il parser rimane in attesa finché lo script non viene eseguito.
-
UI Backend: UI backend è usato per disegnare widget di base come combo box e finestre. Questo backend espone un’interfaccia generica che non è specifica della piattaforma. Sotto utilizza i metodi dell’interfaccia utente del sistema operativo.
-
Data Persistence/Storage: Questo è un livello di persistenza. I browser supportano meccanismi di memorizzazione come localStorage, IndexedDB, WebSQL e FileSystem. È un piccolo database creato sull’unità locale del computer dove è installato il browser. Gestisce i dati dell’utente come la cache, i cookie, i segnalibri e le preferenze.
Una cosa importante da notare qui è che nei browser web come Google Chrome ogni scheda viene eseguita in un processo separato (istanze multiple del motore di rendering).