La riduzione dello user agent è un impegno volto a ridurre le piattaforme di fingerprinting passivo riducendo le informazioni nella stringa dello user agent (UA) solo al brand e alla versione significativa del browser, alla distinzione tra computer o dispositivo mobile e alla piattaforma su cui è in esecuzione. Attualmente, la stringa UA viene condivisa su ogni richiesta HTTP ed esposta in JavaScript a tutte le risorse caricate dal browser. Contiene informazioni importanti sul browser, sulla piattaforma su cui è in esecuzione e sulle relative funzionalità. Gli suggerimenti client per lo user agent (UA-CH) possono fornire le stesse informazioni della stringa UA completa, consentendo al contempo ai siti di richiedere solo le informazioni UA di cui hanno bisogno.
A partire da Chrome 95 Beta, daremo il via alla prova dell'origine per la riduzione dell'agente utente per consentire ai siti di attivare la ricezione della stringa UA ridotta. In questo modo, i siti potranno rilevare e risolvere i problemi prima che l'UA ridotta diventi il comportamento predefinito in Chrome (l'inizio della riduzione è previsto per il secondo trimestre del 2022). Se vuoi testare la prova dell'origine sugli utenti di Chrome 95 Beta prima del lancio per la popolazione stabile, assicurati di attivarla e di eseguire il test prima della data di rilascio di Chrome 95 (attualmente programmata per il 19 ottobre 2021).
Di seguito è riportata una panoramica della prova dell'origine e di cosa aspettarsi. Come sempre, siamo lieti di ricevere feedback o segnalare eventuali problemi durante la prova nel repository GitHub di UA Reduction.
Che cos'è l'User-Agent?
La stringa User-Agent (UA) viene condivisa in ogni richiesta HTTP ed esposta in JavaScript a tutte le risorse caricate dal browser. Al momento contiene informazioni importanti sul browser e sulla piattaforma su cui è in esecuzione.
Perché lo user agent viene ridotto?
La riduzione dello user agent è un impegno per ridurre le piattaforme di fingerprinting passivo nel browser Chrome, annunciato per la prima volta a gennaio 2020. Se riduci le informazioni nella stringa UA solo al brand e alla versione significativa del browser, alla distinzione tra desktop o dispositivo mobile e alla piattaforma su cui è in esecuzione, diventa più difficile identificare i singoli utenti.
Che cosa significa per gli sviluppatori web?
I siti devono prepararsi a ricevere stringhe UA ridotte e prendere in considerazione la partecipazione alla sperimentazione dell'origine (descritta di seguito). I valori dell'agente utente ridotti verranno visualizzati in:
- L'intestazione della richiesta HTTP
User-Agent
- Il getter JavaScript
navigator.userAgent
- Il getter JavaScript
navigator.platform
- Il getter JavaScript
navigator.appVersion
Per ricevere più informazioni sul client rispetto a quelle condivise dall'User-Agent ridotto, i siti dovranno eseguire la migrazione alla nuova API Client Hint User-Agent. Per maggiori dettagli sulle strategie di migrazione, consulta Eseguire la migrazione ai client hint User-Agent.
Al momento i piani di riduzione dello user agent non includono iOS e WebView, pertanto queste piattaforme continueranno a ricevere la stringa completa dello user agent. Il motivo principale è che queste piattaforme non hanno ancora implementato i client hint User-Agent.
Come funziona questa prova dell'origine?
Questa prova dell'origine è leggermente diversa da una prova dell'origine standard. I test di origine standard possono controllare solo il comportamento nella risposta (ad esempio, controllare l'accesso a un'API nel codice JavaScript della risposta). In questo esperimento, il nostro obiettivo è non solo modificare la stringa UA fornita nelle API JavaScript, ma anche l'intestazione User-Agent inviata nella richiesta HTTP.
Per poterlo fare, stiamo definendo un suggerimento client temporaneo, denominato
Sec-CH-UA-Reduced
, la cui presenza in una richiesta indicherà che il valore dell'intestazione
Sec-CH-UA-Reduced
User-Agent contiene la stringa UA ridotta. L'indicazione client Sec-CH-UA-Reduced
verrà inviata (insieme alla stringa UA ridotta) solo se il token di prova dell'origine è valido e l'indicazione client Sec-CH-UA-Reduced
non funzionerà al termine della prova dell'origine. Tieni presente che la prima richiesta di navigazione riceverà comunque la stringa User-Agent non ridotta, a meno che non imposti Critical-CH
header
.
Le richieste di risorse secondarie alla stessa origine invieranno automaticamente la stessa stringa User-Agent della richiesta di primo livello inviata. Le richieste di risorse secondarie alle origini di terze parti invieranno anche la stessa stringa User-Agent della richiesta di primo livello, inclusa la stringa UA ridotta se il token di prova dell'origine è valido, a condizione che le norme relative alle autorizzazioni lo consentano.
Come faccio a partecipare alla prova dell'origine Riduzione User-Agent?
Per registrarti alla prova dell'origine e ricevere un token per i tuoi domini, visita la pagina della prova per la riduzione dello user agent.
Aggiorna le intestazioni di risposta HTTP:
- Aggiungi
Origin-Trial: <ORIGIN TRIAL TOKEN>
all'intestazione della risposta HTTP, dove <ORIGIN TRIAL TOKEN
> contiene il token che hai ricevuto quando hai effettuato la registrazione per la prova dell'origine. - Aggiungi
Accept-CH: Sec-CH-UA-Reduced
all'intestazione della risposta HTTP. - L'impostazione
Accept-CH
comporterà l'invio della stringa dello user agent ridotta solo nelle richieste successive all'origine. Per inviare di nuovo la prima richiesta di navigazione con la stringa dello user agent ridotta, aggiungiCritical-CH: Sec-CH-UA-Reduced
all'intestazione della risposta HTTP, oltre alle intestazioniAccept-CH
eOrigin-Trial
. - Nota: se le intestazioni di risposta contengono un token
Origin-Trial
eAccept-CH: Sec-CH-UA-Reduced
validi, tutte le richieste di risorse secondarie (ad es. per immagini o fogli di stile) e le sottonavigazioni (ad es. iframe) invieranno la stringa UA ridotta, anche se le origini di queste richieste non sono registrate nella prova dell'origine.
- Aggiungi
Carica il tuo sito web in Chrome M95 (o versioni successive) e inizia a ricevere la stringa UA ridotta.
Invia eventuali problemi o feedback al repository GitHub di UA Reduction.
Visita la pagina https://uar-ot.glitch.me/ per una semplice dimostrazione della prova dell'origine (oltre al codice sorgente).
Come partecipare alla prova dell'origine come inserzionista di terze parti?
A partire da Chrome 96, gli elementi incorporati di terze parti (ad esempio un iframe all'interno di un altro sito) possono partecipare alla prova dell'origine senza che sia necessario registrare il sito di primo livello.
Per registrarti come inserzionista di terze parti:
- Visita la pagina Prova per la riduzione degli user agent e fai clic su Registrati.
- Quando crei il token, assicurati di selezionare la casella di controllo
Third-party matching
. - Per ricevere l'intestazione User-Agent ridotta dall'embed di terze parti, aggiorna le intestazioni di risposta HTTP.
- Per ricevere la stringa User-Agent ridotta nelle API JavaScript, il token di prova deve essere iniettato tramite JavaScript.
Alcuni punti importanti sull'esecuzione della prova dell'origine negli elementi incorporati di terze parti:
+ Critical-CH
non può essere specificato per gli elementi incorporati di terze parti, pertanto la prima navigazione non invierà la stringa UA ridotta, anche se le richieste di risorse secondarie dell'elemento incorporato di terze parti invieranno la stringa UA ridotta.
+ Se la prova dell'origine è convalidata per l'origine di un incorporamento di terze parti,
le richieste successive alla stessa origine in una navigazione di primo livello invieranno
la stringa UA ridotta. Per questo motivo, è consigliabile aumentare gradualmente la partecipazione alla prova dell'origine sia per le richieste di primo livello sia per quelle di incorporamento.
+ Se l'user agent ha disattivato i cookie di terze parti, la prova dell'origine non funzionerà per l'intestazione User-Agent
nelle richieste di incorporamento di terze parti, anche se le API JavaScript riceveranno comunque la stringa UA ridotta.
Come faccio a verificare che la prova dell'origine funzioni?
Per verificare che la prova dell'origine funzioni, esamina le intestazioni di richiesta e assicurati di quanto segue:
- L'intestazione User-Agent contiene la versione ridotta. Consulta questo
elenco di esempi di stringhe UA ridotte.
Un modo semplice per riconoscerla è che la stringa della versione secondaria di Chrome contiene
0.0.0
. - L'intestazione
Sec-CH-UA-Reduced
è impostata su?1
.
Le intestazioni della risposta iniziale contenenti il token di prova dell'origine dovrebbero essere simili alle seguenti:

Le intestazioni delle richieste successive contenenti la stringa UA ridotta dovrebbero avere il seguente aspetto:

Come faccio a interrompere la partecipazione alla prova dell'origine Riduzione User-Agent?
In qualsiasi momento durante il periodo di prova, puoi interrompere la partecipazione e ricevere la stringa completa dello user agent. Per interrompere la partecipazione:
- Invia un'intestazione
Accept-CH
nella risposta HTTP che non includeSec-CH-UA-Reduced
. Nota:Accept-CH
con un valore vuoto è un modo valido per farlo se il tuo sito non richiede altri ClientHint. - Rimuovi l'intestazione
Origin-Trial
per la prova della riduzione dello user agent dalla risposta HTTP. - Se impostato, rimuovi
Sec-CH-UA-Reduced
dall'intestazioneCritical-CH
nella risposta HTTP.
Quanto durerà la prova dell'origine?
La prova dell'origine per la riduzione UA durerà almeno sei mesi, che corrisponde a circa sei traguardi di Chrome. La prova dell'origine verrà visualizzata in M95 e terminerà entro M101, a quel punto Chrome valuterà il feedback della prova dell'origine prima di procedere con l'invio della stringa User-Agent ridotta in modo phased in base al piano di implementazione. Se un sito ha bisogno di più tempo, può attivare una successiva prova dell'origine del ritiro, che consente di accedere alla stringa UA completa per almeno altri sei mesi. Pubblicheremo ulteriori dettagli sulla prova del ritiro quando sarà pronta.
Come faccio a condividere un feedback per la prova dell'origine della riduzione dello user agent?
Invia eventuali problemi o feedback al repository GitHub di UA Reduction.