Browser web: la tecnologia che accede alle risorse Internet
Un browser web è il software client che recupera, renderizza e consente l'interazione con le risorse del World Wide Web (HTML, CSS, JS, immagini, video, API). È l'interfaccia universale per Internet.
Architettura principale
- UI: Barra indirizzi, segnalibri, schede, cronologia, estensioni
- Browser Engine: Coordina UI, networking, rendering
- Rendering Engine: Analizza HTML/CSS → DOM/CSSOM → Layout → Paint → Composite
- Blink (Chrome, Edge, Brave, Opera, Vivaldi)
- WebKit (Safari, browser iOS)
- Gecko (Firefox)
- JavaScript Engine: V8 (Blink), SpiderMonkey (Gecko), JavaScriptCore (WebKit)
- Networking: HTTP/1.1, HTTP/2, HTTP/3 (QUIC), WebSocket, Fetch, CORS
- Storage: Cookie, localStorage, IndexedDB, Cache API, Service Workers
- Sicurezza: Same-origin policy, CSP, CORS, HSTS, sandboxing, site isolation
Browser principali (2024 Quota di mercato ~Desktop)
| Browser | Motore | Quota | Caratteristiche chiave |
|---|---|---|---|
| Google Chrome | Blink | ~65% | Velocità, estensioni, sincronizzazione, strumenti per sviluppatori, preoccupazioni privacy |
| Safari | WebKit | ~18% | Privacy (ITP), efficienza batteria, ecosistema Apple |
| Microsoft Edge | Blink | ~5% | Enterprise, Copilot AI, schede verticali, raccolte |
| Mozilla Firefox | Gecko | ~3% | Privacy-first, open source, container, estensioni Manifest V2 |
| Opera / Brave / Vivaldi | Blink | ~3% | VPN integrato, ad-block, crypto, personalizzazione |
Come funziona (Semplificato)
- L'utente inserisce URL / clicca link
- Ricerca DNS → Indirizzo IP
- Handshake TCP + TLS (HTTPS)
- Richiesta HTTP GET → Server
- Il server risponde: HTML + intestazioni
- Il browser analizza HTML → Albero DOM
- Recupera sottorisorse (CSS, JS, immagini, font)
- CSSOM + DOM → Albero di rendering → Layout → Paint → Composite
- JS esegue → modifica DOM/CSSOM → ripeti
- L'utente interagisce → Event loop → Chiamate Rete/Storage/API
Oltre la navigazione
- PWA: Installabili, offline, notifiche push
- WebAssembly: Velocità quasi nativa (C++/Rust → .wasm)
- WebRTC: Video/audio/dati in tempo reale
- WebGPU: Computo/rendering GPU nel browser
- Estensioni: Modificano il comportamento (ad-block, password manager, strumenti per sviluppatori)
Il browser è il sistema operativo del web — in evoluzione da visualizzatore di documenti a runtime di applicazioni.