Parser di User-Agent
Identifica browser, engine, SO e dispositivo da una stringa User-Agent
Su questo strumento
Incolla una stringa User-Agent da una riga di log, un bug report o un export di analytics e ottienila decodificata: browser e versione, motore di rendering, sistema operativo, tipo di dispositivo e architettura della CPU. Il parser è ua-parser-js, la stessa libreria dietro innumerevoli pipeline di analytics, in esecuzione locale sulla tua stringa.
Le stringhe User-Agent sono siti archeologici — ognuna dichiara ancora di essere Mozilla/5.0, Chrome dice di essere Safari, Safari dice di essere KHTML e la vera identità si nasconde nei token successivi. Un parser batte lo strizzare gli occhi: sa che "CriOS" significa Chrome su iOS e che Edge si nasconde dietro "Edg/".
Nota la direzione del vento: i browser stanno congelando e riducendo le stringhe UA (e Chromium fornisce invece gli UA Client Hints), quindi il dettaglio di versione dal solo UA è sempre più grossolano. Per la forensics dei log e il triage dei bug resta indispensabile; per le decisioni sulle feature, usa la feature detection.
Domande frequenti
- Perché ogni User-Agent inizia con Mozilla/5.0?
- Teatro di compatibilità anni ’90 mai finito: i server sniffavano "Mozilla" per servire pagine moderne, così ogni nuovo browser dichiarò di esserlo, e ciascun browser successivo impersonò i predecessori. Il prefisso è ormai tradizione priva di significato.
- Posso fidarmi della versione del sistema operativo in una stringa UA?
- Sempre meno ogni anno. macOS ha congelato la sua versione UA a 10_15_7, Windows 11 si presenta come Windows NT 10.0 e i browser con UA ridotto rendono le versioni volutamente grossolane. Tratta le versioni di OS dall’UA come approssimative; usa gli UA Client Hints dove controlli il client.
- Cosa significa "like Gecko" o "KHTML, like Gecko"?
- Altri strati di impersonificazione: WebKit discende da KHTML e voleva che le pagine con casi speciali per Gecko (il motore di Firefox) funzionassero, quindi aggiunse "like Gecko". Ogni browser WebKit/Blink porta la frase ancora oggi.
- Dovrei usare il parsing dell’UA per la feature detection?
- No — lo sniffing si rompe nel momento in cui esce una nuova versione di browser. Rileva direttamente la feature (if ("clipboard" in navigator)). Il parsing dell’UA serve ad analytics, analisi dei log e riproduzione dei bug segnalati dagli utenti, dove conoscere l’ambiente è l’intero punto.