MiServe DevTools

I tuoi adesivi

Fissa qui gli strumenti. Restano salvati in questo browser.

Parser User-Agent

Scomponi una stringa user-agent in browser, motore di rendering, sistema operativo e tipo di dispositivo, e scopri cosa dichiara di sé il tuo browser.

Browser o client
Motore di rendering
Sistema operativo
Tipo di dispositivo
Architettura della CPU, se la stringa la indica

Cosa dichiara di sé questo browser

Questi valori vengono letti dal browser che stai usando ora, non dalla stringa qui sopra. Restano in questa pagina.

Proprietà del browser che stai usando
ProprietàValore
Brand dei Client Hints
Piattaforma dei Client Hints
Lingue
Dimensioni dello schermo
Device pixel ratio
Fuso orario
Cookie
WebAssembly
Web Crypto

Funziona nel tuo browser. Nulla di ciò che incolli viene caricato.

Informazioni su questo strumento

Cos'è una stringa user-agent

Quasi ogni richiesta HTTP contiene un header User-Agent in cui il client si presenta. Per decenni i browser ci hanno aggiunto i nomi dei concorrenti, così che i siti scritti per un rivale li servissero comunque: per questo la stringa di Chrome inizia con Mozilla/5.0 e cita AppleWebKit, KHTML, like Gecko e Safari, e per questo Edge e Opera inviano la stringa di Chrome con Edg/ o OPR/ aggiunto in fondo.

Un parser deve quindi fare i controlli in un ordine fisso, dal token più specifico al meno specifico. Questo strumento cerca prima i bot e le librerie HTTP, poi i browser che aggiungono un token proprio, e solo alla fine Chrome e Safari, i cui token vengono ripetuti da molti altri browser.

Perché Chromium ne ha congelato quasi tutto

La stringa viene inviata a ogni server con ogni richiesta, e i suoi dettagli aiutavano il fingerprinting delle persone. Chrome l'ha quindi ridotta, e gli altri browser basati su Chromium hanno fatto lo stesso. Ora la versione viene inviata come 131.0.0.0, con solo il numero principale reale, e la parte della piattaforma è un valore fisso come Windows NT 10.0; Win64; x64 o Android 10; K, qualunque sia il sistema reale.

Un sito che ha bisogno dei dettagli deve richiederli tramite gli User-Agent Client Hints: gli header di richiesta Sec-CH-UA e navigator.userAgentData in JavaScript. La tabella sotto il risultato mostra questi valori quando il browser che stai usando li fornisce.

Meglio la feature detection

Dato che la stringa è in parte congelata, imita altri browser e il client può impostarla a piacere, è un pessimo criterio per decidere quale codice eseguire. Verifica invece la funzionalità: 'share' in navigator in JavaScript, o @supports in CSS. Così la risposta è corretta anche per browser che non hai mai sentito nominare e per versioni che ancora non esistono.

Leggere la stringa resta sensato per le statistiche, per distinguere i crawler dalle persone in un log e per aggirare un bug di una specifica versione di un browser.

Domande

Perché la mia versione di Chrome finisce con .0.0.0?

Chrome e gli altri browser basati su Chromium riducono la stringa user-agent per limitare il fingerprinting. Viene inviata solo la versione principale; i numeri minor, build e patch sono sostituiti da zeri. La versione completa è disponibile tramite gli User-Agent Client Hints.

Dalla stringa user-agent si distingue Brave da Chrome?

No. Brave invia di proposito la stessa stringa di Chrome, quindi un parser può dire solo che si tratta di un browser basato su Chromium. Lo stesso vale per qualsiasi browser che non aggiunge un token proprio.

Perché il mio Mac indica macOS 10.15.7?

Safari, Chrome e Firefox hanno smesso di aggiornare la versione di macOS nella stringa alla 10.15, quindi anche tutte le versioni successive di macOS riportano quel numero. Inoltre la stringa dice Intel anche sui Mac con Apple silicon.

Una stringa user-agent si può falsificare?

Sì. Qualsiasi client può inviare qualsiasi stringa, e molti bot inviano quella di un normale browser. Non basarci decisioni di sicurezza. Per verificare un crawler come Googlebot, controlla l'indirizzo da cui è arrivata la richiesta, come indicato nella documentazione di chi lo gestisce.

La stringa che incollo viene inviata a un server?

No. Viene analizzata da JavaScript nella scheda del tuo browser, e lo strumento non fa alcuna richiesta di rete con la stringa.

Altri strumenti in Rete