Per migliorare i tempi di caricamento delle pagine per i nostri utenti, a volte Chrome precarica i link nella pagina dei risultati della Ricerca Google e su altri siti web partecipanti prima che l'utente vi faccia clic. Questa funzionalità è descritta dettagliatamente in questo articolo dal punto di vista tecnico.
Questa funzionalità si basa su un proxy CONNECT
che nasconde l'indirizzo IP dell'utente dal sito web che deve essere precaricato. A sua volta, ciò sposta intrinsecamente la connessione stabilita per gli amministratori di rete.
Allo stesso tempo, siamo consapevoli che gli amministratori di rete potrebbero dover filtrare i contenuti. Abbiamo quindi progettato un meccanismo che consente agli amministratori di rete di continuare a farlo se l'utente fa clic su un link precaricato.
Filtro contenuti
Per tutelare la privacy dell'utente, Chrome non eseguirà ricerche DNS osservabili durante il precaricamento dei link. Se l'utente accede a un link precaricato, le risorse della pagina verranno recuperate dalla cache locale senza effettuare una ricerca DNS osservabile. Un effetto collaterale è che il filtro dei contenuti potrebbe non funzionare come previsto quando l'utente apre un link precaricato.
Per consentire agli amministratori di rete di filtrare i contenuti su queste navigazioni precaricate, abbiamo progettato un meccanismo di segnalazione per indicare a Chrome di eseguire una ricerca DNS quando l'utente fa clic su un link precaricato. La ricerca DNS viene eseguita contemporaneamente e nello stesso modo in cui se non fosse stato eseguito il precaricamento, offrendo agli amministratori la stessa opportunità di filtrare i contenuti. Chrome metterà in pausa il caricamento delle risorse precaricate dalla cache finché questa seconda ricerca DNS non va a buon fine. Se l'operazione non va a buon fine, Chrome non utilizzerà le risorse precaricate e caricherà la pagina come di consueto. Tieni presente che ciò comporta una penalizzazione per le prestazioni dell'utente, dato che Chrome deve attendere il completamento della ricerca DNS.
Dettagli del meccanismo di segnalazione
Per gli utenti che non hanno disattivato i precaricamenti delle pagine, Chrome eseguirà in modo asincrono una ricerca DNS per dns-tunnel-check.googlezip.net
all'avvio o quando si verifica un cambio dell'interfaccia di rete.
Ecco i possibili risultati del controllo dns-tunnel-check.googlezip.net
:
- Se la risposta è
NXDOMAIN
oSERVFAIL
oppure se viene restituito un codice di rispostaNOERROR
che però non contiene né recordA
néAAAA
, Chrome comprende che gli amministratori di rete necessitano di visibilità sulle navigazioni alle pagine precaricate (vedi Modalità preflight). - Se la risposta è qualsiasi altro valore, Chrome utilizzerà direttamente le risorse precaricate e non eseguirà ulteriori ricerche DNS quando l'utente accede alla pagina precaricata.
Il risultato di questo controllo rimarrà valido fino al riavvio di Chrome o fino a quando l'interfaccia di rete non cambia, il che attiverà una nuova ricerca DNS per dns-tunnel-check.googlezip.net
, con un risultato potenzialmente diverso.
Modalità preflight
In questa modalità, prima di accedere a una pagina precaricata tramite il proxy di precaricamento privato, Chrome esegue una ricerca DNS per il dominio pertinente e attende che venga restituita la risposta:
- Se la risposta è composta da un insieme non vuoto di indirizzi IP, Chrome procederà con la navigazione utilizzando le risorse precaricate.
- Se la risposta è
REFUSED
(opzione preferita) oNXDOMAIN
, Chrome non procederà con la navigazione e mostrerà invece la pagina di errore DNS pertinente.