Accelerare Largest Contentful Paint (LCP) con il precaricamento di più siti.
A partire dalla versione 103 di Chrome per Android, Chrome implementerà gradualmente una funzionalità del proxy di precaricamento privato per velocizzare le navigazioni in uscita dalla Ricerca Google e da altri siti web partecipanti del 30% (mediana). Questa funzionalità del proxy di precaricamento privato consente il precaricamento di contenuti multiorigine senza esporre le informazioni dell'utente al sito web di destinazione fino alla navigazione dell'utente.
Continua a leggere per scoprire come funziona questa funzionalità, come può contribuire a migliorare notevolmente la metrica Largest Contentful Paint (LCP) dei tuoi siti o come i siti web referrer possono aiutare gli utenti a raggiungere i loro obiettivi accelerando le navigazioni tra siti.
Come funziona il proxy di precaricamento privato
Canale di comunicazione sicuro
Questa funzionalità utilizza un proxy CONNECT
per stabilire un canale di comunicazione sicuro tra Chrome e il server che ospita i contenuti da precaricare. Questo canale di comunicazione sicuro impedisce al proxy di ispezionare eventuali trasferimenti di dati. In particolare, anche se il proxy di precaricamento privato vede necessariamente il nome host per stabilire un canale di comunicazione sicuro, non vede gli URL completi né le risorse stesse.
Inoltre, poiché il canale di comunicazione sicuro è protetto con crittografia end-to-end, gli intermediari non possono osservare i nomi host né i contenuti dei siti precaricati. Infine, il proxy impedisce intrinsecamente al server di destinazione di vedere l'indirizzo IP dell'utente.
Impedire l'identificazione degli utenti
Oltre agli aspetti di rete descritti in precedenza, dobbiamo anche impedire ai server di identificare un utente al momento di precaricamento tramite le informazioni precedentemente memorizzate sul loro dispositivo. A questo scopo, Chrome attualmente limita l'utilizzo del proxy privato di precaricamento ai siti web per i quali l'utente non ha cookie o altri stati locali. Di seguito sono riportate le limitazioni per le richieste di precaricamento effettuate tramite il proxy di precaricamento privato:
- Cookie: le richieste di precaricamento non possono trasferire cookie.
- Se è presente un cookie per una risorsa, Chrome esegue un recupero senza credenziali, ma non utilizza la risposta (consulta la sezione successiva Memorizzazione nella cache).
- Sebbene le risposte a una richiesta di precaricamento possano includere cookie, questi vengono salvati solo se l'utente accede alla pagina precaricata.
- Impronta:vengono regolate anche altre piattaforme che possono essere utilizzate per il fingerprinting. Ad esempio, l'intestazione
User-Agent
inviata dal proxy di precaricamento contiene solo informazioni limitate.
In futuro, ci auguriamo di estendere il proxy privato di precaricamento ai link con cookie o stato locale mantenendo le stesse caratteristiche di privacy. Consulta la sezione Passaggi successivi per ulteriori dettagli.
Memorizzazione nella cache
Chrome precarica le risorse anche se sono già nella cache, ma non avrà intestazioni condizionali come ETag
o If-Modified-Since
(che contengono valori impostati dal server che potrebbero essere utilizzati per il monitoraggio anche senza cookie). Questo precaricamento viene eseguito per impedire la perdita dello stato della cache del client sul sito web precaricato. Inoltre, Chrome assegna una risorsa precaricata alla cache solo se l'utente decide di visitare il sito web precaricato.
Inizia a utilizzare il proxy di precaricamento privato
Per i proprietari di siti web
Non è richiesta alcuna azione da parte dei proprietari di siti web per iniziare a trarre vantaggio dal proxy di precaricamento privato sui link per i quali l'utente non ha cookie o stato locale. Dai nostri esperimenti, questa è un'opportunità significativa per la maggior parte dei siti web. Inoltre, è sempre una buona idea impressionare i nuovi visitatori o i visitatori occasionali con un'esperienza di caricamento superveloce. Dagli esperimenti passati, abbiamo osservato una velocità compresa tra il 20% e il 30% più veloce di Largest Contentful Paint nelle navigazioni precaricate.
In futuro, ci auguriamo di estendere questa funzionalità ai link con i cookie o gli stati locali mantenendo le caratteristiche relative alla privacy. Il problema dei cookie è che potrebbero essere utilizzati per modificare l'esperienza utente in modi difficili da prevedere. Pertanto, è molto probabile che i proprietari di siti web debbano attivare o modificare il proprio sito per usufruire del proxy di precaricamento privato per i link con cookie.
Concretamente, anche se le richieste di precaricamento rimangono senza credenziali, la pagina web avrà accesso ai cookie e ad altri stati locali quando l'utente vi accede. Gli sviluppatori potrebbero sfruttare questa possibilità per aggiungere nuovamente la personalizzazione e le modifiche in base ai cookie o allo stato locale. Oppure, gli sviluppatori potrebbero anche essere interessati a dichiarare che alcune risorse sono perfettamente precaricate e utilizzabili così come sono, senza cookie (ovvero, risorse che non dipendono da alcun cookie). Consulta la sezione Passaggi successivi per saperne di più e definire il nostro piano.
Contenuti o servizi dipendenti dalla posizione geografica
Se il tuo sito web si comporta in modo diverso (ad esempio, in base a contenuti diversi o accesso selettivo) a seconda dei mercati in base all'indirizzo IP dell'utente, potresti chiederti come gestire le richieste di precaricamento del proxy privato di precaricamento. È importante sapere che il proxy di precaricamento privato è alimentato da diversi server sparsi in tutto il mondo e che l'IP del proxy verrà geolocalizzato in base al paese da cui l'utente ha avviato il precaricamento.
Alla luce di ciò, consigliamo quanto segue:
- Identifica le richieste di precaricamento dal proxy di precaricamento privato dalla presenza di un'intestazione HTTP
Sec-Purpose: Prefetch; anonymous-client-ip
. - Cerca la geolocalizzazione del proxy di precaricamento privato che ha inviato la richiesta tramite il suo indirizzo IP. Consulta questa risorsa per un elenco aggiornato delle aree geografiche implementate e dei corrispondenti indirizzi IP.
- Offri le risorse in base al mercato connesso a questa particolare geolocalizzazione.
Controllo del traffico
Sappiamo che, dagli esperimenti passati, questa funzionalità genera in genere meno del 2% di richieste in più per le risorse principali (ad esempio, i documenti HTML). Detto questo, se sei di tipo prudente, puoi utilizzare il campo di frazione del consiglio sul traffico per controllare la quantità di traffico che il proxy di precaricamento privato può far passare. Puoi iniziare con una piccola frazione come 0,3 (ovvero il 30%) e aumentarla gradualmente fino a 1,0 (ovvero il 100%) aggiungendo il seguente JSON a un file /.well-known/traffic-advice
, che deve essere pubblicato con il tipo MIME application/trafficadvice+json
:
[{
"user_agent": "prefetch-proxy",
"fraction": 0.3
}]
Il campo fraction
è un numero in virgola mobile compreso tra 0,0 (nessun precaricamento) e 1,0 (il 100% delle richieste di precaricamento viene superato).
È anche possibile disattivare completamente questa impostazione con la seguente configurazione:
[{
"user_agent": "prefetch-proxy",
"disallow": true
}]
Il file /.well-known/traffic-advice
viene recuperato dal proxy, non dal client, e memorizzato nella cache presso il proxy in base alla consueta semantica della cache HTTP. Per maggiore flessibilità, ad esempio un improvviso picco di accessi intensivi, potresti voler rifiutare temporaneamente le richieste di precaricamento (Sec-Purpose: prefetch;anonymous-client-ip
) con un codice di stato 503 e impostare l'intestazione Cache-Control: no-store
sulla risposta. Puoi anche aggiungere l'intestazione Retry-After
per indicare a Chrome quanto tempo attendere prima di riprovare le richieste di precaricamento.
Per i proprietari di siti web referrer
Se gestisci un sito web con molti link ad altri siti web, potrebbe interessarti utilizzare la funzionalità Proxy di precaricamento privato per velocizzare queste navigazioni multiorigine. Dovrai aggiungere regole di speculazione alle tue pagine affinché Chrome sappia quale pagina dovrebbe precaricare tramite il proxy di precaricamento privato. Ecco un esempio semplice:
<script type="speculationrules">
{
"prefetch": [
"source": "list",
"urls": ["https://example.com/index.html"],
"requires": ["anonymous-client-ip-when-cross-origin"]
]
}
</script>
Passaggi successivi
Questo lancio è solo un primo passo. Confidiamo di poter estendere e migliorare questa funzionalità in base all'interesse e ai feedback della community. Ad esempio, ci piacerebbe ricevere il tuo feedback su come espandere i link con cookie e stato locale in modo da ridurre al minimo le difficoltà per gli sviluppatori o su come rendere questa funzionalità più utile per i siti web referrer.
Leggi tutto
- Proxy di precaricamento per amministratori di rete.
- Messaggio esplicativo sui consigli sul traffico
- Idee interessanti per consigli sul traffico
- Repository GitHub di WiCG per le iniziative relative alla speculazione nella navigazione.
- Blog di Chromium in cui è stato introdotto inizialmente il concetto di proxy di precaricamento privato.