Modifiche alla stringa dello user agent, le strategie che Chrome e Firefox stanno adottando per mitigare l'impatto e come puoi fornire il tuo aiuto.
Chrome e Firefox raggiungerà la versione 100 tra un paio di mesi. Questo potrebbe causare malfunzionamenti sui siti che si basano sull'identificazione della versione del browser per eseguire la logica di business. Questo post illustra la cronologia degli eventi e le strategie utilizzate da Chrome e Firefox. adottare per mitigare l'impatto e come puoi aiutare.
Stringa dello user agent
Lo user agent (UA) è una stringa che i browser inviano nelle intestazioni HTTP, in modo che i server
identificare il browser. La stringa è accessibile anche tramite JavaScript con
navigator.userAgent
In genere ha il seguente formato:
<browser_name>/<major_version>.<minor_version>
Ad esempio, la release più recente dei browser al momento della pubblicazione questo post:
- Chrome:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
- Firefox:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
- Safari:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
Versione principale 100: numero di versione a tre cifre
La versione 100 principale è un traguardo importante sia per Chrome che per Firefox. Inoltre, ha il potenziale di causare danni ai siti web quando passiamo da una dimensione a due cifre numero di versione a tre cifre. Gli sviluppatori web utilizzano tutti i tipi di tecniche per per analizzare queste stringhe, dal codice personalizzato all'uso delle librerie di analisi dello user agent, che può essere utilizzato per determinare la logica di elaborazione corrispondente. La Lo user agent e qualsiasi altro meccanismo di segnalazione della versione segnalerà presto un a tre cifre.
Sequenze temporali della versione 100
I browser della versione 100 verranno rilasciati inizialmente nelle versioni sperimentali (Chrome Canary, Firefox Nightly), versioni beta e infine versione stabile canale.
Browser | Cronologia |
---|---|
Chrome (release programmazione) | 29 marzo 2022 |
Firefox (release programmazione) | 3 maggio 2022 |
Perché un numero di versione a tre cifre può essere problematico?
Quando i browser hanno raggiunto per la prima volta la versione 10, poco più di 12 anni fa, sono stati scoperti molti problemi con lo user agent che analizza le librerie poiché il numero di versione principale è passato da uno numero due.
In assenza di un'unica specifica da seguire, browser diversi hanno formati differenti per la stringa User-Agent e l'analisi dello user agent specifico del sito. È è possibile che alcune librerie di analisi possano avere ipotesi o bug hardcoded che non tengono conto dei numeri delle versioni principali a tre cifre. Molte biblioteche ha migliorato la logica di analisi quando i browser sono passati ai numeri di versione a due cifre, quindi il raggiungimento del traguardo di tre cifre dovrebbe arrecare meno problemi. Mario Teresa, un ingegnere del team di Chrome ha svolto un sondaggio sull'analisi UA che non hanno evidenziato alcun problema. Esperimenti di Chrome in corso nel ha evidenziato alcuni problemi su cui stiamo lavorando.
Che cosa fanno i browser al riguardo?
Sia Firefox che Chrome hanno eseguito esperimenti in cui le versioni correnti di il rapporto del browser sia alla versione principale 100 per rilevare possibili o danni al sito web. Ciò ha causato alcuni problemi segnalati, alcuni dei quali sono già stati corretti. Questi esperimenti continueranno a essere eseguiti fino al rilascio della versione 100.
Esistono anche strategie di mitigazione del backup, nel caso la versione 100 il rilascio nei canali stabili causa più danni ai siti web del previsto.
Mitigazione di Chrome
In Chrome, il piano di backup prevede l'utilizzo di un flag per bloccare la versione principale a 99 e riporti il numero reale della versione principale nella parte della versione secondaria Stringa dello user agent (il codice è già atterraggio).
La versione di Chrome riportata nella stringa dello user agent segue lo schema
<major_version>.<minor_version>.<build_number>.<patch_number>
.
Se viene impiegato il piano di backup, la stringa dello user agent sarà simile a questo:
99.101.4988.0
Chrome sta inoltre eseguendo esperimenti per garantire che venga riportato un valore a tre cifre parte della stringa nella versione secondaria non provoca interruzioni, poiché nella versione secondaria dello user agent di Chrome è indicato 0 per molto tempo nel tempo. Il team di Chrome deciderà se utilizzare o meno l'opzione di backup. in base al numero e alla gravità dei problemi segnalati.
Mitigazione di Firefox
In Firefox, la strategia dipenderà dall'importanza dell'interruzione. Firefox
ha un
meccanismo di intervento sul sito.
Il team di Mozilla Webcompat può correggere i siti web non funzionanti in Firefox utilizzando questa
meccanismo di attenzione. Se digiti about:compat
nella barra degli URL di Firefox, puoi vedere
è attualmente in fase di risoluzione. Se un sito si interrompe e la versione principale è la 100 su una
dominio specifico, puoi correggerlo inviando invece la versione 99.
Se l'interruzione è diffusa, è possibile bloccare la versione principale numero. Esistono quindi diverse strategie possibili, ognuna con il suo pro e contro. Mozilla può inviare il numero di versione reale come versione secondaria numero di versione, blocca la stringa completamente così com'è o invia il numero di versione reale tramite altri parametri.
Ogni strategia che aggiunge complessità alla stringa dello user agent ha un impatto impatto sull'ecosistema. Collaboriamo per evitare un'altra stranezza comportamento degli utenti.
Come puoi essere d'aiuto?
In Chrome e Firefox Nightly, puoi configurare il browser in modo da segnalare la versione 100 e segnala eventuali problemi riscontrati.
Configura Chrome in modo che segnali la versione principale come 100
- Vai a
chrome://flags/#force-major-version-to-100
. - Imposta l'opzione su
Enabled
.
Configura Firefox Nightly per segnalare la versione principale come 100
- Apri il menu Impostazioni di Firefox Nightly.
- Cerca "Firefox 100" quindi seleziona lo user agent "Firefox 100" Stringa" .
Report di test e file
- Se sei un gestore del sito web, testa il sito con Chrome e Firefox 100. Esamina il codice di analisi e le librerie dello user agent e assicurarsi di essere in grado di gestire i numeri di versione a tre cifre. Abbiamo ha compilato alcuni pattern che al momento non funzionano.
- Se sviluppi una libreria di analisi user agent, aggiungi test da analizzare o versioni successive e uguali a 100. I nostri primi test mostrano che recenti delle librerie sono in grado di gestirle correttamente. Tuttavia, il web ha un'eredità lunga, Pertanto, se hai versioni precedenti di librerie di analisi, per verificare la presenza di eventuali problemi ed eseguire l'upgrade.
- Se navighi sul web e riscontri problemi con i principali alla versione 100, inviare una segnalazione su webcompat.com.