Qu'est-ce que le format de fichier HAR ?
Un fichier .har - abréviation de HTTP Archive - est un journal basé sur JSON qui enregistre chaque requête et réponse HTTP échangée lors d'une session de navigation. Les navigateurs, les proxys et les outils de surveillance des performances exportent des fichiers .har afin que les développeurs et les ingénieurs support puissent rejouer, inspecter et analyser l'activité réseau hors ligne.
Le format est né vers 2007 en tant que format d'exportation du panneau Net de Firebug et a été formalisé plus tard dans un W3C Editor's Draft en 2012. HAR 1.2 est la version écrite par tous les principaux navigateurs aujourd'hui : Chrome, Edge, Firefox et Safari incluent tous une option Enregistrer tout comme HAR dans leur onglet Réseau des DevTools.
En interne, un fichier .har est un objet JSON unique avec une clé de premier niveau - log - contenant :
version- toujours1.2dans les exportations modernes (les anciens outils écrivaient1.1)pages[]- une entrée par chargement de page, avec le timing global du chargemententries[]- une entrée par paire requête/réponse HTTP, incluant l'URL, la méthode, le code d'état, les en-têtes, les cookies, les données de formulaire postées et les timings par étape (recherche DNS, connexion TCP, poignée de main TLS, envoi, attente, réception)
Parce que les fichiers .har stockent tout cela sous forme de texte UTF-8 brut, ils peuvent contenir des données sensibles telles que des cookies de session, des jetons d'autorisation et des corps de réponse complets. Traitez-les comme des identifiants avant de les partager publiquement ou de les joindre à un ticket de support.
Les équipes de support de services tels que Microsoft 365, Okta, Zendesk et Cloudflare demandent régulièrement aux utilisateurs d'enregistrer et de joindre un fichier .har pour aider à diagnostiquer les échecs de connexion, les chargements de pages lents et les erreurs d'API. Les chercheurs en sécurité chargent également les exportations .har dans des outils comme Fiddler ou Wireshark pour inspecter et rejouer les sessions capturées.
Les fichiers grossissent rapidement : un simple chargement de page peut produire 200 Ko à 2 Mo ; l'enregistrement d'une session complexe pendant plusieurs minutes peut dépasser 100 Mo. Le format n'a pas de compression intégrée, bien que les fichiers .har soient couramment compressés en GZIP à l'extérieur pour le stockage ou le transfert. N'importe quel éditeur de texte peut les ouvrir - puisqu'il s'agit de JSON pur - et des analyseurs dédiés tels que le Google Admin Toolbox HAR Analyzer présentent les données sous forme de tableaux en cascade interactifs de requêtes et de réponses.
Sécurité et sûreté
RISQUE : HIGHLe danger d'un HAR n'est pas un logiciel malveillant mais l'EXPOSITION. Un HAR capture tout ce que le navigateur a envoyé et reçu en texte clair : cookies de session, jetons OAuth/bearer, clés d'API, jetons CSRF, corps POST complets et parfois mots de passe saisis. Quiconque obtient le fichier peut souvent rejouer la session authentifiée de l'utilisateur. Des incidents de haut profil (par exemple, la violation du système de support d'Okta en 2023, où des fichiers HAR volés contenaient des jetons de session) rendent cela concret. Avant de partager un HAR : générez-le SANS le contenu de la réponse si possible, et passez-le dans un nettoyeur (par exemple, le « HAR sanitizer » de Cloudflare/Google ou l'outil har-sanitizer) pour supprimer les cookies, les en-têtes d'autorisation et les jetons. Ne postez jamais un HAR brut dans un ticket public, un forum ou un chat. Le fichier lui-même ne s'exécute pas, donc ouvrir un fichier pour le LIRE est sûr.
Détails du format
en bref- Resource Interchange Audio (ancien .HAR) - Quelques vieux jeux de l'ère DOS utilisaient .har pour des archives audio/ressources compressées ; sans rapport avec HTTP Archive.
Programmes qui ouvrent les fichiers HAR
Détails techniques
spécifications approfondies| Format de conteneur | JSON (texte brut, UTF-8) |
| Type MIME | application/json ; également enregistré comme application/har+json |
| Signature de fichier | Aucune - identifiée par la structure JSON ; le fichier commence presque toujours par {"log":{"version":"1.2" |
| Champ de version interne | champ log.version : « 1.2 » dans toutes les exportations modernes ; les anciens outils écrivaient « 1.1 » |
| Schéma de haut niveau | {log:{version, creator, browser, pages[], entries[]}} - un élément entries[] par paire requête/réponse HTTP |
| Champs de timing par entrée | Résolution en millisecondes par étape : dns, connect, ssl, send, wait (TTFB), receive - permet l'analyse par graphique en cascade |
| Gestion du contenu binaire | Les corps de réponse binaires sont encodés en base64 dans le champ texte JSON |
| Compression | Aucune intégrée ; couramment compressé en GZIP à l'extérieur en .har.gz pour le stockage ou le transfert |
| Sensibilité à la confidentialité | Élevée - stocke les cookies, les en-têtes d'autorisation, les jetons d'authentification et les corps de requête/réponse complets en texte clair |
| Taille de fichier typique | 200 Ko - 50 Mo par session ; les sessions riches en médias ou prolongées peuvent dépasser 100 Mo |
| Prise en charge des plateformes | Exporté par les DevTools de Chrome, Edge, Firefox et Safari ; importé par Charles Proxy, Fiddler, Proxyman et d'autres |
| Cas d'utilisation principaux | Analyse des performances, débogage web, diagnostics de support (Microsoft 365, Okta, Zendesk, Cloudflare) et audit du trafic HTTP |
| Limite du nombre d'entrées | Illimité - le tableau des entrées croît avec chaque requête capturée ; limité uniquement par la mémoire disponible |
| Publié | 2007 (HAR 1.1 draft, Firebug Net panel); W3C draft 'HTTP Archive (HAR) format' 2012 |
| Dernière version | HAR 1.2 (the version recorded inside every modern export's log.version field) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.softwareishard.com |
Conversions HAR
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers HAR.