Che cos'è il formato di file HAR?
Un file .har - abbreviazione di HTTP Archive - è un log basato su JSON che registra ogni richiesta e risposta HTTP scambiata durante una sessione del browser. Browser, proxy e strumenti di monitoraggio delle prestazioni esportano file .har in modo che sviluppatori e ingegneri del supporto possano riprodurre, ispezionare e analizzare l'attività di rete offline.
Il formato è nato intorno al 2007 come formato di esportazione del pannello Net di Firebug ed è stato successivamente formalizzato in una bozza dell'editor W3C nel 2012. HAR 1.2 è la versione scritta oggi da tutti i principali browser: Chrome, Edge, Firefox e Safari includono tutti l'opzione Salva tutto come HAR nella scheda Rete dei loro DevTools.
Internamente, un file .har è un singolo oggetto JSON con una chiave di primo livello - log - contenente:
version- sempre1.2nelle esportazioni moderne (i vecchi strumenti scrivevano1.1)pages[]- una voce per ogni caricamento di pagina, con i tempi di caricamento complessivientries[]- una voce per ogni coppia richiesta/risposta HTTP, inclusi URL, metodo, codice di stato, intestazioni, cookie, dati dei moduli inviati e tempi per fase (ricerca DNS, connessione TCP, handshake TLS, invio, attesa, ricezione)
Poiché i file .har memorizzano tutto questo come testo semplice UTF-8, possono contenere dati sensibili come cookie di sessione, token di autorizzazione e corpi completi delle risposte. Trattateli come credenziali prima di condividerli pubblicamente o allegarli a un ticket di supporto.
I team di supporto di servizi tra cui Microsoft 365, Okta, Zendesk e Cloudflare chiedono regolarmente agli utenti di registrare e allegare un file .har per aiutare a diagnosticare errori di accesso, caricamenti lenti delle pagine ed errori API. I ricercatori di sicurezza caricano anche le esportazioni .har in strumenti come Fiddler o Wireshark per ispezionare e riprodurre le sessioni acquisite.
I file crescono rapidamente: un semplice caricamento di pagina può produrre 200 KB-2 MB; la registrazione di una sessione complessa per diversi minuti può superare i 100 MB. Il formato non ha una compressione integrata, sebbene i file .har vengano regolarmente compressi esternamente in formato gzip per l'archiviazione o il trasferimento. Qualsiasi editor di testo può aprirli - essendo semplice JSON - e analizzatori dedicati come Google Admin Toolbox HAR Analyzer presentano i dati come tabelle a cascata interattive di richieste e risposte.
Sicurezza e incolumità
RISCHIO: HIGHIl pericolo di un file HAR non è il malware ma l'ESPOSIZIONE. Un HAR cattura tutto ciò che il browser ha inviato e ricevuto in chiaro: cookie di sessione, token OAuth/bearer, chiavi API, token CSRF, corpi POST completi e talvolta password digitate. Chiunque ottenga il file può spesso riprodurre la sessione autenticata dell'utente. Incidenti di alto profilo (ad esempio la violazione del sistema di supporto Okta del 2023, in cui i file HAR rubati contenevano token di sessione) rendono questo rischio concreto. Prima di condividere un HAR: generatelo SENZA il contenuto della risposta dove possibile e passatelo attraverso un bonificatore (ad esempio «HAR sanitizer» di Cloudflare/Google o lo strumento har-sanitizer) per rimuovere cookie, intestazioni di autorizzazione e token. Non pubblicate mai un HAR grezzo in un ticket pubblico, forum o chat. Il file in sé non viene eseguito, quindi aprirne uno per LEGGERLO è sicuro.
Dettagli del formato
in sintesi- Resource Interchange Audio (legacy .HAR) - Alcuni vecchi giochi dell'era DOS utilizzavano .har per archivi audio/risorse compressi; non correlato a HTTP Archive.
Programmi che aprono file HAR
Dettagli tecnici
specifiche approfondite| Formato contenitore | JSON (testo semplice, UTF-8) |
| Tipo MIME | application/json; registrato anche come application/har+json |
| Firma del file | Nessuna - identificato dalla struttura JSON; il file inizia quasi sempre con {"log":{"version":"1.2" |
| Campo versione interna | campo log.version: «1.2» in tutte le esportazioni moderne; i vecchi strumenti scrivevano «1.1» |
| Schema di primo livello | {log:{version, creator, browser, pages[], entries[]}} - un elemento entries[] per ogni coppia richiesta/risposta HTTP |
| Campi di temporizzazione per voce | Risoluzione in millisecondi per fase: dns, connect, ssl, send, wait (TTFB), receive - consente l'analisi del grafico a cascata |
| Gestione contenuti binari | I corpi delle risposte binarie sono codificati in base64 all'interno del campo di testo JSON |
| Compressione | Nessuna integrata; comunemente compresso esternamente come .har.gz per l'archiviazione o il trasferimento |
| Sensibilità per la privacy | Alta - memorizza cookie, intestazioni di autorizzazione, token di autenticazione e corpi completi di richiesta/risposta in chiaro |
| Dimensione tipica del file | 200 KB - 50 MB per sessione; sessioni ricche di contenuti multimediali o estese possono superare i 100 MB |
| Supporto piattaforma | Esportato dai DevTools di Chrome, Edge, Firefox e Safari; importato da Charles Proxy, Fiddler, Proxyman e altri |
| Casi d'uso principali | Analisi delle prestazioni, debug web, diagnostica del supporto (Microsoft 365, Okta, Zendesk, Cloudflare) e auditing del traffico HTTP |
| Limite conteggio voci | Illimitato - l'array entries cresce con ogni richiesta acquisita; limitato solo dalla memoria disponibile |
| Rilasciato | 2007 (HAR 1.1 draft, Firebug Net panel); W3C draft 'HTTP Archive (HAR) format' 2012 |
| Ultima versione | HAR 1.2 (the version recorded inside every modern export's log.version field) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.softwareishard.com |
Conversioni HAR
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file HAR.