Cos’è una stringa User-Agent
Ogni richiesta HTTP porta un header User-Agent che indica il software che l’ha inviata. Trent’anni di browser che fingono di essere altri browser hanno reso il formato assurdo: Chrome su Windows si presenta come Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36, dichiarandosi Mozilla, WebKit e Safari allo stesso tempo. Analizzarla significa sapere quali token contano: Edg/ batte Chrome/, Chrome/ batte Safari/, e Firefox/ sta da solo.
Cosa non dice più
- Chrome congela la versione minore (
129.0.0.0) e i dettagli del sistema operativo (sempre «Windows NT 10.0», sempre «Mac OS X 10_15_7»), una modifica chiamata UA reduction. I valori completi sono disponibili solo tramite gli header Client Hints. - Windows 11 è indistinguibile da Windows 10.
- Ogni browser su iOS è WebKit, quindi «Chrome su iPhone» (
CriOS/) è il motore di Safari con l’interfaccia di Google.
Bot
I crawler educati si identificano e spesso includono un URL: Googlebot/2.1 (+http://www.google.com/bot.html). I crawler AI sono ormai una fetta importante del traffico: GPTBot (addestramento OpenAI), ChatGPT-User (recupero per un utente), ClaudeBot e Claude-User (Anthropic), PerplexityBot, Bytespider, CCBot (Common Crawl), meta-externalagent. Ognuno può essere permesso o bloccato per nome nel robots.txt; il robots.txt di questo sito li permette, perché essere citati nelle risposte delle AI fa parte dello scopo.
Chiunque può impostare qualsiasi User-Agent, quindi la stringa non prova nulla. Gli scraper copiano la stringa di Chrome; l’identità di Googlebot va confermata con una ricerca DNS inversa dell’IP (deve terminare in googlebot.com o google.com e risolvere di nuovo all’IP).
Domande
Come vedo il mio user agent?
Il campo qui sopra è precompilato con la stringa del tuo browser. Puoi anche eseguire navigator.userAgent nella console, o guardare gli header della richiesta nella scheda Rete.
Posso fidarmi dello User-Agent per decisioni di sicurezza?
No. Lo imposta il client e si falsifica liberamente. Usalo per le statistiche, indizi approssimativi sulle funzionalità e l’identificazione amichevole dei bot; usa reputazione degli IP, limiti di frequenza e controlli DNS inversi per tutto ciò che conta.
Perché le mie statistiche mostrano Safari 605 o Chrome 537?
Sono numeri di build di WebKit (AppleWebKit/537.36, Safari/605.1.15) che non cambiano mai, non versioni del browser. La versione del browser è dopo Version/ per Safari o Chrome/ per Chrome.
Dovrei bloccare i crawler AI?
Dipende se vuoi comparire nelle risposte generate dalle AI. Per un sito di strumenti, essere citati è traffico. I crawler solo per l’addestramento (GPTBot, Google-Extended, ClaudeBot) possono essere bloccati separatamente dai fetcher on-demand (ChatGPT-User, Claude-User) che agiscono per conto di una persona.