HAR-файл
HTTP Archive — JSON-файл с записью всех запросов браузера к сайту: заголовки, тела, коды ответов и тайминги каждого обращения.
Что такое HAR-файл
HAR (HTTP Archive) — формат записи сетевой активности браузера. Это обычный JSON-файл с расширением .har, куда попадает всё, что происходило на вкладке Network: каждый запрос со своими заголовками и телом, каждый ответ с кодом и содержимым, плюс тайминги — сколько заняли DNS, установка соединения, TLS-хендшейк и ожидание ответа сервера.
Практический смысл — воспроизводимость. Вместо «у меня сайт не открывается» пользователь присылает HAR, и разработчик видит ровно то, что видел браузер: какой запрос ушёл, что ответил сервер и где потерялось время. Поэтому HAR-файл часто просит техподдержка хостингов и SaaS-сервисов.
Как снять HAR
Формат поддерживают все браузеры на движке Chromium, а также Firefox и Safari.
- Откройте DevTools —
F12илиCtrl+Shift+I. - Вкладка Network, включите Preserve log — иначе записи пропадут при редиректе.
- Очистите список и воспроизведите проблему: перезагрузите страницу, нажмите кнопку.
- Правой кнопкой по списку → Save all as HAR with content, в Firefox — Сохранить всё как HAR.
Без with content тела ответов в файл не попадут — останутся только заголовки и тайминги. Для разбора ошибки API тела обычно и есть самое ценное.
Что внутри
{
"log": {
"version": "1.2",
"creator": { "name": "WebInspector", "version": "537.36" },
"entries": [
{
"startedDateTime": "2026-01-17T09:14:02.113Z",
"time": 842,
"request": {
"method": "POST",
"url": "https://api.example.com/v1/orders",
"headers": [{ "name": "Authorization", "value": "Bearer eyJhbG..." }],
"postData": { "mimeType": "application/json", "text": "{\"sku\":\"GPU-4090\"}" }
},
"response": {
"status": 422,
"content": { "mimeType": "application/json", "text": "{\"errors\":{...}}" }
},
"timings": {
"blocked": 1, "dns": 12, "connect": 47, "ssl": 31,
"send": 0, "wait": 738, "receive": 13
}
}
]
}
}
Массив entries — это список запросов, по одному объекту на каждый. Блок timings разбирает время запроса по фазам, и он же отвечает на главный вопрос при разборе тормозов: большое значение wait — медленно думает сервер, большие dns и connect — проблема в сети или DNS, большое blocked — браузер держал запрос в очереди.
Как читать
- Импорт обратно в DevTools. Файл перетаскивают на вкладку Network — и он открывается тем же привычным списком со всеми фильтрами.
- Фильтр по статусам. Ищите коды 4xx и 5xx — обычно проблема там. Отсутствие запроса вообще тоже диагноз: сработал блокировщик или запрос не отправился.
- Заголовок
Originи ответ безAccess-Control-Allow-Origin. Верный признак проблемы с CORS — в HAR это видно однозначно, в отличие от туманного сообщения в консоли. - Водопад. Сортировка по времени показывает, что грузится последовательно, а что параллельно.
Безопасность: HAR — это дамп сессии
В файле лежат все заголовки, включая Cookie и Authorization. То есть API-ключи, JWT-токены и куки сессии — в открытом виде. Кто получил ваш HAR, тот вошёл в аккаунт: были реальные инциденты, когда компанию взламывали через HAR-файлы, отправленные в техподдержку.
Правила простые:
- Перед отправкой откройте файл и удалите значения
Cookie,Authorization,Set-Cookieи тела с персональными данными. - Снимайте HAR на тестовом аккаунте, если это возможно.
- Не выкладывайте HAR в публичные тикеты, чаты и issue-трекеры.
- После разбора инцидента ротируйте засветившиеся ключи и токены.
Отдельно про персональные данные: HAR с формы регистрации содержит всё, что пользователь ввёл, — такой файл нельзя ни пересылать в мессенджере, ни хранить в тикете.
Связанные термины
- HTTP — то, что записывает HAR
- HTTP-ошибки — что ищут в файле в первую очередь
- CORS — частая находка при разборе HAR
- API — вызовы, которые видно в записи
- API-ключи — то, что нужно вычистить перед отправкой
Готовы запустить GPU-задачу?
Запустить GPU-сервер