Заголовки: User-Agent
Заголовок User-Agent
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она поддерживается браузерами с июля 2015 года.
HTTP User-Agent — это характерная строка в заголовке запроса, которая позволяет серверам и узлам сети определять приложение, операционную систему, поставщика и/или версию запрашивающего пользовательского агента.
Предупреждение: см. раздел Определение браузера по пользовательскому агенту, чтобы узнать, почему предоставлять разное содержимое разным браузерам обычно не следует.
| Тип заголовка | Заголовок запроса |
|---|---|
| Запрещённый заголовок запроса | Нет |
Синтаксис
User-Agent: <product> / <product-version> <comment>
Распространённый формат для веб-браузеров:
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
Директивы
<product>-
Идентификатор продукта — его название или кодовое имя разработки.
<product-version>-
Номер версии продукта.
<comment>-
Ноль или более комментариев с дополнительными сведениями, например информацией о субпродукте.
Сокращение данных User-Agent
Информация, предоставляемая в заголовке User-Agent, исторически вызывала опасения по поводу конфиденциальности: её можно использовать для идентификации конкретного пользовательского агента, а значит, и для снятия цифрового отпечатка. Чтобы уменьшить эти риски, поддерживающие эту функцию браузеры предоставляют сокращённый набор сведений в заголовке User-Agent и в связанных возможностях API, таких как Navigator.userAgent, Navigator.appVersion и Navigator.platform.
Например, раньше строка User-Agent для Chrome на Android могла выглядеть так:
Mozilla/5.0 (Linux; Android 16; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.12.45 Mobile Safari/537.36
После обновления, сокращающего данные User-Agent, она выглядит так:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36
- Версия платформы всегда имеет фиксированное значение, в данном случае —
Android 10. - Модель устройства всегда имеет фиксированное значение, в данном случае —
K. - Основной номер версии Chrome отображается правильно, но номера младших версий всегда заменяются нулями —
0.0.0.
Серверы, которым нужны дополнительные сведения, могут запросить их с помощью подсказок клиента User-Agent. После первоначального подключения сервер может отправить заголовок ответа Accept-CH со списком нужных ему данных, а клиент затем может передать эти данные в заголовках Sec-CH-UA-*. Доступ к этой информации также можно получить через API подсказок клиента User-Agent.
Более подробные сведения, включая руководство по получению дополнительной информации по мере необходимости, см. в разделе Сокращение данных User-Agent. Примеры сокращённых строк User-Agent также приведены в следующих разделах.
Строка UA Firefox
Подробнее о строках пользовательского агента Firefox и браузеров на основе Gecko см. в справочнике по строкам пользовательского агента Firefox. Строка UA Firefox состоит из четырёх компонентов:
Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version
-
Mozilla/5.0— общий токен, указывающий на совместимость браузера с Mozilla. По историческим причинам сегодня его отправляют почти все браузеры. -
platform описывает собственную платформу, на которой работает браузер (Windows, Mac, Linux, Android и т. д.), а также указывает, является ли устройство мобильным телефоном. Обратите внимание, что platform может состоять из нескольких токенов, разделённых
;. Дополнительные сведения и примеры приведены ниже. - rv:gecko-version указывает версию выпуска Gecko (например, «17.0»). В современных браузерах gecko-version совпадает с firefox-version.
-
Gecko/gecko-trail указывает, что браузер основан на Gecko. (В настольных версиях gecko-trail всегда имеет фиксированное значение
20100101.) - Firefox/firefox-version указывает, что браузер является Firefox, и сообщает его версию (например, «17.0»).
Примеры для настольных компьютеров:
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0
Строка UA Chrome
Строка пользовательского агента Chrome (или движков на основе Chromium/Blink) похожа на строку Firefox. Для совместимости в неё добавляются такие строки, как KHTML, like Gecko и Safari. На iPhone добавляется "CriOS/<version>".
Примеры для настольных компьютеров:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
Пример для телефона Android:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36
Строка UA Opera
Браузер Opera также основан на движке Blink, поэтому его строка UA почти совпадает со строкой Chrome, но в настольных версиях и на Android добавляется "OPR/<version>", а на iPhone — "OPT/<version>". В предварительных версиях Opera также указывает в скобках редакцию браузера, например (Edition developer).
Примеры для настольных компьютеров:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/124.0.0.0 (Edition developer) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/124.0.0.0 (Edition developer)
Пример для телефона Android:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36 OPR/92.0.0.0
Строка UA Microsoft Edge
Браузер Edge также основан на движке Blink. В настольных версиях он добавляет "Edg/<version>", на Android — "EdgA/<version>", а на iPhone — "EdgiOS/<version>".
Примеры для настольных компьютеров:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0
Пример для телефона Android:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36 EdgA/141.0.0.0
Строка UA Safari
Safari основан на движке WebKit, но его строка UA также похожа на строки браузеров на основе Blink. Перед фактической версией сборки движка обычно указывается строка Version/xxx, обозначающая версию выпуска браузера, которая, в отличие от браузеров на основе Blink, отличается от версии движка. В строку мобильного Safari на iPhone также входит Mobile.
Примечание: на момент написания этой статьи браузеры для iPhone, не разработанные Apple (например, Firefox, Chrome и Edge), всё ещё основаны на WebKit, поэтому их строки UA похожи на строку UA Safari.
Пример для настольного компьютера:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15
Пример для iPhone:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1
Примеры до сокращения данных User-Agent
В этом разделе приведены примеры строк UA из более ранних версий браузеров, до появления механизма сокращения данных пользовательского агента:
Google Chrome:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Microsoft Edge:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59
Opera:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41
В более старых выпусках Opera на основе Presto использовалась такая структура:
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00 Opera/9.60 (Windows NT 6.0; U; en) Presto/2.1.1
Строки UA сканеров и ботов
>Примеры
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots)
Строки UA библиотек и сетевых инструментов
>Примеры
curl/7.64.1
PostmanRuntime/7.26.5
Спецификации
| Спецификация |
|---|
| Семантика HTTP> # field.user-agent> |
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
User-Agent |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 | 1 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/User-Agent