Prova dell'origine della riduzione dello user agent

User-Agent Reduction è uno sforzo per ridurre le piattaforme di fingerprinting passive riducendo le informazioni nella stringa dello User-Agent (UA) solo al brand e alla versione significativa del browser, alla sua distinzione tra desktop o dispositivi mobili 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 importanti informazioni sul browser, sulla piattaforma su cui viene eseguito e sulle sue funzionalità. I client client hint dello user agent (UA-CH) possono fornire le stesse informazioni della stringa UA completa, consentendo ai siti di richiedere solo le informazioni UA di cui hanno bisogno.

A partire da Chrome 95 Beta, apriremo la prova dell'origine per Riduzione dello user agent per consentire ai siti di attivare ora la ricezione della stringa UA ridotta. Ciò consentirà ai siti di rilevare e risolvere problemi prima che l'UA ridotta diventi il comportamento predefinito in Chrome (l'inizio della riduzione è previsto nel secondo trimestre del 2022). Se vuoi testare la prova dell'origine su 95 utenti beta prima che venga lanciata nella popolazione stabile, assicurati di attivarla e testarla prima della data di rilascio di Chrome 95 (attualmente pianificata per il 19 ottobre 2021).

Di seguito è riportata una panoramica della prova dell'origine e di cosa aspettarsi e, come sempre, siamo lieti di ricevere feedback o di eventuali problemi riscontrati durante la prova nel repository GitHub di UA Reduction.

Cos'è lo user agent?

La stringa User-Agent (UA) viene condivisa su ogni richiesta HTTP ed esposta in JavaScript a tutte le risorse caricate dal browser. Attualmente contiene importanti informazioni sul browser e sulla piattaforma su cui viene eseguito.

Perché lo user agent viene ridotto?

User-Agent Reduction è un'iniziativa annunciata per la prima volta a gennaio 2020 per ridurre le superfici di fingerprinting passive nel browser Chrome. Riducendo 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 viene eseguita, diventa più difficile identificare i singoli utenti.

Cosa cambia per gli sviluppatori web?

I siti devono prepararsi a ricevere stringhe UA ridotte e prendere in considerazione la partecipazione alla prova dell'origine (specificata di seguito). I valori dello user agent 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 dallo user agent ridotto, i siti dovranno eseguire la migrazione alla nuova API Client Hints dello user agent. Per ulteriori 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 dello user agent.

Come funziona questa prova dell'origine?

Questa prova dell'origine è leggermente diversa da una prova dell'origine standard. Le prove delle origini standard possono controllare solo il comportamento nella risposta (ad esempio, controllare l'accesso a un'API nel codice JavaScript della risposta). In questa prova, il nostro obiettivo è non solo modificare la stringa UA fornita nelle API JavaScript, ma anche modificare l'intestazione User-Agent inviata nella richiesta HTTP.

Per farlo, stiamo definendo un hint client temporaneo, denominato Sec-CH-UA-Reduced, la cui presenza in una richiesta indicherà che il valore dell'intestazione User-Agent contiene la stringa UA ridotta. Il suggerimento client Sec-CH-UA-Reduced verrà inviato (insieme alla stringa UA ridotta) solo se il token della prova dell'origine è valido e il suggerimento client Sec-CH-UA-Reduced non funzionerà dopo la scadenza della prova dell'origine. Tieni presente che la prima richiesta di navigazione continuerà a ricevere la stringa User-Agent non ridotta, a meno che non imposti Critical-CH header.

Le richieste di sottorisorse alla stessa origine invieranno automaticamente la stessa stringa user agent della richiesta di primo livello inviata. Le richieste di sottorisorse a origini di terze parti invieranno anche la stessa stringa User-Agent della richiesta di primo livello, inclusa la stringa UA ridotta se il token della prova dell'origine è valido, a condizione che il criterio di autorizzazione lo consenta.

Come faccio a partecipare alla prova dell'origine della riduzione dello user agent?

  1. Per registrarti alla prova dell'origine e ricevere un token per i tuoi domini, visita la pagina Prova per la riduzione degli user agent.

  2. Aggiorna le intestazioni delle risposte HTTP:

    1. Aggiungi Origin-Trial: <ORIGIN TRIAL TOKEN> all'intestazione della risposta HTTP, dove <ORIGIN TRIAL TOKEN> contiene il token che hai ricevuto al momento della registrazione per la prova dell'origine.
    2. Aggiungi Accept-CH: Sec-CH-UA-Reduced all'intestazione della risposta HTTP.
    3. L'impostazione Accept-CH comporta solo l'invio della stringa User-Agent ridotta per le richieste successive all'origine. Per inviare nuovamente la prima richiesta di navigazione con la stringa User-Agent ridotta, aggiungi Critical-CH: Sec-CH-UA-Reduced all'intestazione della risposta HTTP, oltre alle intestazioni Accept-CH e Origin-Trial.
    4. Nota: se le intestazioni della risposta contengono un token Origin-Trial valido e Accept-CH: Sec-CH-UA-Reduced, tutte le richieste di risorse secondarie (ad esempio, per immagini o fogli di stile) e le navigazioni secondarie (ad esempio iframe) invieranno la stringa UA ridotta, anche se le origini di queste richieste non vengono registrate nella prova dell'origine.
  3. Carica il tuo sito web in Chrome M95 (o versioni successive) e inizia a ricevere la stringa UA ridotta.

  4. Invia eventuali problemi o feedback al repository GitHub per la riduzione di UA.

  5. Visita la pagina https://uar-ot.glitch.me/ per una semplice dimostrazione della prova dell'origine (insieme al codice sorgente).

Come partecipare alla prova dell'origine come incorporamento di terze parti?

A partire da Chrome 96, gli incorporamenti di terze parti (ad esempio, un iframe all'interno di un altro sito) possono partecipare alla prova dell'origine senza richiedere la registrazione del sito di primo livello.

Per registrarti come incorporamento di terze parti:

  1. Visita la Prova per la riduzione degli user agent e fai clic su Registrati.
  2. Quando crei il token, assicurati di selezionare la casella di controllo Third-party matching.
  3. Per ricevere l'intestazione User-Agent ridotta dall'incorporamento di terze parti, aggiorna le intestazioni della risposta HTTP.
  4. Per ricevere la stringa User-Agent ridotta nelle API JavaScript, il token della prova deve essere iniettato tramite JavaScript.

Alcuni punti importanti relativi all'esecuzione della prova dell'origine su incorporamenti di terze parti: + Critical-CH non può essere specificato per gli incorporamenti di terze parti, quindi la prima navigazione non invierà la stringa UA ridotta, anche se le richieste di sottorisorse dell'incorporamento di terze parti invieranno la stringa UA ridotta. + Se la prova dell'origine viene 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, ti consigliamo di aumentare la partecipazione alla prova dell'origine per le richieste di primo livello e quelle di incorporamento. + Se lo user agent ha disabilitato 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 confermare il funzionamento della prova dell'origine, esamina le intestazioni della richiesta e assicurati di quanto segue:

  1. L'intestazione User-Agent contiene la versione ridotta. Consulta questo elenco di esempi di stringhe UA ridotte. Un modo facile per capire è che la stringa della versione secondaria di Chrome contiene 0.0.0.
  2. L'intestazione Sec-CH-UA-Reduced è impostata su ?1.

Le intestazioni della risposta iniziale contenenti il token della prova dell'origine dovrebbero avere il seguente aspetto:

Intestazioni della risposta iniziale contenenti il token della prova dell&#39;origine.

Le intestazioni della richiesta successive contenenti la stringa UA ridotta dovrebbero avere il seguente aspetto:

Intestazioni della richiesta successive contenenti la stringa UA ridotta.

Come faccio a interrompere la partecipazione alla prova dell'origine della riduzione dello user agent?

In qualsiasi momento durante la prova, puoi interrompere la partecipazione e ricevere la stringa User-Agent completa. Per interrompere la partecipazione:

  1. Invia nella risposta HTTP un'intestazione Accept-CH che non include Sec-CH-UA-Reduced. Nota: Accept-CH con un valore vuoto è un modo valido per eseguire questo passaggio se il tuo sito non richiede altri client hint.
  2. Rimuovi l'intestazione Origin-Trial per la prova di riduzione dello user agent dalla risposta HTTP.
  3. Se impostato, rimuovi Sec-CH-UA-Reduced dall'intestazione Critical-CH nella risposta HTTP.

Quanto durerà la prova dell'origine?

La prova dell'origine della riduzione di UA durerà almeno sei mesi, corrispondenti a circa sei traguardi di Chrome. La prova dell'origine sarà disponibile nella versione M95 e terminerà entro la versione M101. Dopodiché Chrome valuterà il feedback della prova dell'origine prima di procedere con l'invio della stringa dello user agent ridotto in modo graduale in base al piano di implementazione. Se un sito ha bisogno di più tempo, può attivare una prova dell'origine di ritiro successiva, che gli consentirebbe di accedere all'intera stringa UA per almeno altri sei mesi. Quando sarà pronta, pubblicheremo ulteriori dettagli sulla prova relativa al ritiro.

Come faccio a condividere un feedback per la prova dell'origine della riduzione dello user agent?

Invia eventuali problemi o feedback al repository GitHub per la riduzione di UA.