Cosa sono gli HTTP Client Hints?

Gli HTTP Client Hints sono un insieme di intestazioni di richiesta che i browser possono inviare ai server per condividere informazioni sul dispositivo, il sistema operativo, il browser e le condizioni di rete. A differenza della tradizionale stringa User-Agent — che racchiude tutte le informazioni in una singola stringa opaca — i Client Hints sono intestazioni strutturate e individuali che semplificano l'estrazione di dettagli specifici senza complessi parsing di stringhe.

I Client Hints sono stati introdotti come parte della specifica W3C e sono ora supportati dai browser basati su Chromium (Chrome, Edge, Opera). Rientrano in due categorie: hint a bassa entropia (come Sec-CH-UA e Sec-CH-UA-Mobile) inviati automaticamente, e hint ad alta entropia (come Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch e Sec-CH-UA-Bitness) che richiedono un'autorizzazione esplicita tramite un'intestazione di risposta Accept-CH.

Descrizione dello strumento

Questo strumento analizza le intestazioni HTTP Client Hints e la classica stringa User-Agent per estrarre informazioni strutturate sul browser, il sistema operativo, il dispositivo, l'architettura della CPU e il motore di rendering. Puoi inserire gli hint manualmente come campi individuali, incollare intestazioni HTTP grezze tutto in una volta, o fare clic su "Rileva dal browser" per catturare automaticamente gli hint che il tuo browser attuale espone.

Esempi

Input (intestazioni grezze):

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Sec-CH-UA: "Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"
Sec-CH-UA-Platform-Version: "15.0.0"
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Bitness: "64"
Sec-CH-UA-Model: ""
Sec-CH-UA-Full-Version-List: "Chromium";v="124.0.6367.62", "Google Chrome";v="124.0.6367.62"
Sec-CH-UA-Form-Factors: "Desktop"

Output:

Campo Valore
Browser Google Chrome 124.0.6367.62
Motore del browser Blink
Sistema operativo Windows 15.0.0
Architettura x86 / 64-bit
Tipo di dispositivo Desktop
Mobile No

Funzionalità

  • Rilevamento automatico dal browser: Legge User-Agent e richiede hint Client Hints ad alta entropia direttamente dal tuo browser attuale con un solo clic
  • Due modalità di input: Inserisci gli hint come campi etichettati individuali, oppure incolla un blocco di intestazione HTTP grezzo e lascia che lo strumento analizzi automaticamente le coppie chiave-valore
  • Copertura completa degli hint: Supporta tutte le intestazioni standard Sec-CH-UA-* inclusa la versione della piattaforma, l'architettura, la bitness, il modello del dispositivo, l'elenco completo delle versioni e i fattori di forma

Opzioni spiegate

Campo Intestazione Descrizione
User-Agent User-Agent La classica stringa di identificazione del browser
Sec-CH-UA Sec-CH-UA Elenco separato da virgole di marchi di browser e versioni principali
Sec-CH-UA-Mobile Sec-CH-UA-Mobile ?1 se dispositivo mobile, ?0 altrimenti
Sec-CH-UA-Platform Sec-CH-UA-Platform Nome del sistema operativo (ad es. "Windows", "macOS")
Sec-CH-UA-Platform-Version Sec-CH-UA-Platform-Version Stringa della versione del sistema operativo
Sec-CH-UA-Arch Sec-CH-UA-Arch Architettura della CPU (ad es. "x86", "arm")
Sec-CH-UA-Bitness Sec-CH-UA-Bitness Bitness della CPU ("32" o "64")
Sec-CH-UA-Model Sec-CH-UA-Model Nome del modello del dispositivo (principalmente per dispositivi mobili)
Sec-CH-UA-Full-Version-List Sec-CH-UA-Full-Version-List Stringhe di versione completa per tutti i marchi
Sec-CH-UA-Form-Factors Sec-CH-UA-Form-Factors Hint dei fattori di forma (ad es. "Desktop", "Phone", "Tablet")

Suggerimenti

  • Se il tuo browser non supporta l'API Client Hints, il pulsante di rilevamento automatico tornerà a leggere solo la stringa User-Agent e mostrerà un avviso.
  • Quando utilizzi la scheda Intestazioni grezze, incolla le intestazioni esattamente come appaiono nel pannello Network di DevTools del tuo browser — un'intestazione per riga nel formato Nome: Valore.
  • L'intestazione Sec-CH-UA include intenzionalmente voci di marchio false (come "Not-A.Brand") per prevenire il fingerprinting; lo strumento filtra questi e mostra il nome reale del browser.