User-Agent: Firefox
Справочник по строке User-Agent Firefox
В данном документе описывается строка user agent, используемая в Firefox 4 и более поздних версиях, а также в приложениях, основанных на Gecko 2.0 и более поздних версиях. Для получения подробной информации о изменениях в строке в Gecko 2.0, обратитесь к Окончательной строке User Agent для Firefox 4 (запись в блоге). Также см. этот документ о определении браузера по строке User Agent и эту запись в блоге Hacks.
Общая форма
Строка UA Firefox состоит из четырёх компонентов:
Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
-
Mozilla/5.0— это общий маркер, указывающий на совместимость браузера с Mozilla, и он характерен для почти всех современных браузеров. -
platformописывает родную платформу, на которой работает браузер (например, Windows, Mac, Linux или Android), и является ли это мобильный телефон. Мобильные телефоны Firefox OS указывают "Mobile"; веб — это платформа. Обратите внимание, чтоplatformможет состоять из нескольких токенов, разделённых ";". Дополнительные сведения и примеры см. ниже.Примечание: Несмотря на исправление в Firefox 69, предыдущие 32-битные версии Firefox, работающие на 64-битных процессорах, сообщали, что система использует 32-битный процессор.
-
rv:geckoversionуказывает на версию Gecko (например, "17.0"). В современных браузерахgeckoversionсовпадает сfirefoxversion. -
Gecko/geckotrailуказывает, что браузер основан на Gecko. - На настольных компьютерах
geckotrail— это фиксированная строка "20100101" -
Firefox/firefoxversionуказывает, что браузер — это Firefox, и предоставляет версию (например, "17.0"). - В Firefox 10 для мобильных устройств
geckotrailсовпадает сfirefoxversion.
Примечание: Рекомендуемый способ определения Gecko-браузеров (если вам обязательно нужно определить движок браузера, а не использовать обнаружение функций) — наличие строк "Gecko" и "rv:", так как некоторые другие браузеры включают токен "like Gecko".
Для других продуктов, основанных на Gecko, строка может иметь один из двух форматов, где токены имеют то же значение, за исключением указанных ниже:
Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail appname/appversion Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion appname/appversion
-
appname/appversionуказывает имя и версию приложения. Например, это может быть "Camino/2.1.1" или "SeaMonkey/2.7.1". -
Firefox/firefoxversion— это необязательный токен совместимости, который некоторые браузеры на базе Gecko могут включить для обеспечения максимальной совместимости с веб-сайтами, которые ожидают Firefox.firefoxversionобычно представляет эквивалентную версию Firefox, соответствующую данной версии Gecko. Некоторые браузеры на базе Gecko могут не использовать этот токен; по этой причине программы-анализаторы должны искать Gecko, а не Firefox!
До Firefox 4 и Gecko 2.0 расширения и плагины могли добавлять части строки user agent, но это больше не возможно с момента баг 581008.
Индикаторы мобильных и планшетных устройств
Примечание: Только с Firefox 11 по 68.
Часть platform строки UA указывает, работает ли Firefox на устройстве размером с телефон или планшет. Когда Firefox работает на устройстве с формой телефона, токен Mobile; присутствует в части platform строки UA. Когда Firefox работает на планшетном устройстве, токен Tablet; присутствует в части platform строки UA. Например:
Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0
Примечание: Номера версий не имеют значения. Избегайте делать выводы на основе этих данных.
Рекомендуемый способ нацеливания контента на тип устройства — использование CSS Media Queries. Однако, если вы используете анализ UA для нацеливания контента на тип устройства, ищите Mobi (для включения Opera Mobile, которая использует «Mobi») для устройств с формой телефона и не делайте предположений о корреляции между «Android» и типом устройства. Таким образом, ваш код будет работать, если/когда Firefox выйдет на другие мобильные/планшетные операционные системы или Android будет использоваться на ноутбуках. Кроме того, используйте обнаружение касаний для определения сенсорных устройств, а не ищите «Mobi» или «Tablet», так как могут быть сенсорные устройства, которые не являются планшетами.
Примечание: Устройства Firefox OS идентифицируют себя без указания операционной системы; например: «Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0». Веб-платформа.
Windows
Строки user agent Windows имеют следующие вариации, где x.y — это версия Windows NT (например, Windows NT 6.1).
| Версия Windows | Строка Gecko user agent |
|---|---|
| Windows NT на процессоре x86 или aarch64 | Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Windows NT на процессоре x64 | Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0 |
Macintosh
Здесь x.y — это версия Mac OS X (например, Mac OS X 10.15). Начиная с Firefox 87, Firefox ограничивает сообщаемую версию Mac OS X до 10.15, поэтому macOS 11.0 Big Sur и более поздние версии будут отображаться как «10.15» в строке User-Agent.
Обратите внимание, что Firefox больше официально не поддерживает Mac OS X на PowerPC.
| Версия Mac OS X | Строка Gecko user agent |
|---|---|
| Mac OS X на x86, x86_64 или aarch64 | Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Mac OS X на PowerPC | Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
Linux
Linux — более разнородная платформа. Ваша дистрибуция Linux может включать расширение, которое изменяет строку user agent. Ниже приведены несколько распространённых примеров.
| Версия Linux | Строка Gecko user agent |
|---|---|
| Рабочий стол Linux на процессоре i686 | Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Рабочий стол Linux на процессоре x86_64 | Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Мобильный Linux Nokia N900, в браузере Fennec | Mozilla/5.0 (Maemo; Linux armv7l; rv:10.0) Gecko/20100101 Firefox/10.0 Fennec/10.0 |
Android (версия 40 и ниже)
| Тип устройства | Строка Gecko user agent |
|---|---|
| Телефон | Mozilla/5.0 (Android; Mobile; rv:40.0) Gecko/40.0 Firefox/40.0 |
| Планшет | Mozilla/5.0 (Android; Tablet; rv:40.0) Gecko/40.0 Firefox/40.0 |
Android (версия 41 и выше)
Начиная с версии 41, Firefox для Android будет содержать версию Android в качестве части токена платформа. Для повышения межплатформенной совместимости, если браузер работает на версии ниже 4, он будет указывать 4.4. Версии Android 4 и выше будут точно указывать версию. Обратите внимание, что один и тот же Gecko — с теми же возможностями — поставляется для всех версий Android.
| Тип устройства | Строка Gecko user agent |
|---|---|
| Телефон | Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 |
| Планшет | Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0 |
Фокус для Android
Начиная с версии 1, Фокус работает на базе Android WebView и использует следующий формат строки user agent:
Mozilla/5.0 (Linux; <Android Version> <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Version/4.0 Focus/<focusversion> Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
Планшетные версии в WebView зеркально отражают мобильные, но не содержат токена Mobile.
Начиная с версии 6, пользователи могут выбрать использование GeckoView-основанного Focus для Android с помощью скрытого предпочтения: он использует строку GeckoView UA для объявления совместимости с Gecko.
| Версия Focus (рендеринг движок) | Строка User Agent |
|---|---|
| 1.0 (WebView Mobile) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Mobile Safari/537.36 |
| 1.0 (WebView Tablet) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Safari/537.36 |
| 6.0 (GeckoView) | Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0 |
Klar для Android
Начиная с версии 4.1, Klar для Android использует ту же строку UA, что и Фокус для Android. До версии 4.1 он отправлял токен Klar/<version> product/version.
| Версия Klar (рендеринг движок) | Строка User Agent |
|---|---|
| 1.0 (WebView) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Klar/1.0 Chrome/58.0.3029.83 Mobile Safari/537.36 |
| 4.1+ (WebView) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/4.1 Chrome/62.0.3029.83 Mobile Safari/537.36 |
| 6.0+ (GeckoView) | Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0 |
Фокус для iOS
Версия 7 Фокуса для iOS использует строку пользовательского агента следующего формата:
Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/7.0.4 Mobile/16B91 Safari/605.1.15
Примечание: эта строка пользовательского агента была получена из симулятора iPhone XR и может отличаться на устройстве.
Firefox для Fire TV
Версии 3 (и, вероятно, более ранние) Firefox для Fire TV используют строку пользовательского агента следующего формата:
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefoxversion> Chrome/<Chrome Rev> Safari/<WebKit Rev>
| Версия Firefox TV | Строка пользовательского агента |
|---|---|
| v3.0 | Mozilla/5.0 (Linux; Android 7.1.2) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/3.0 Chrome/59.0.3017.125 Safari/537.36 |
Firefox для Echo Show
Начиная с версии 1.1, Firefox для Echo Show использует строку пользовательского агента следующего формата:
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefoxversion> Chrome/<Chrome Rev> Safari/<WebKit Rev>
| Версия Firefox для Echo Show | Строка пользовательского агента |
|---|---|
| v1.1 | Mozilla/5.0 (Linux; Android 5.1.1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.1 Chrome/59.0.3017.125 Safari/537.36 |
Firefox OS
| Тип устройства | Строка пользовательского агента Gecko |
|---|---|
| Телефон | Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0 |
| Планшет | Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0 |
| TV | Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0 |
| Устройство со специфическим идентификатором | Mozilla/5.0 (Mobile; nnnn; rv:26.0) Gecko/26.0 Firefox/26.0 |
Строки пользовательского агента, специфичные для устройства
Хотя Mozilla настоятельно не рекомендует это, некоторые производители мобильных устройств, к сожалению, включают маркер в строку UA своего устройства, представляющий идентификатор устройства. В таком случае строка UA Firefox OS будет выглядеть как строка устройства со специфичным идентификатором в таблице выше, где nnnn; — код производителя устройства (см. Руководство). Некоторые из них, которые мы заметили, имеют вид "NexusOne;", "ZTEOpen;" или "Open C;" (обратите внимание, что пробелы также не рекомендуется использовать). Мы предоставляем эту информацию, чтобы помочь в вашей логике обнаружения UA, но Mozilla не рекомендует определять идентификатор устройства в строках UA.
Вот регулярное выражение JavaScript, которое обнаружит все мобильные устройства, включая устройства со специфическим идентификатором в строке UA:
/mobi/i
Значение i делает его регистронезависимым, а mobi соответствует всем мобильным браузерам.
Номер версии Firefox OS
Хотя номер версии Firefox OS не включен в строку UA, можно определить информацию о версии по номеру версии Gecko, присутствующему в строке UA.
| Номер версии Firefox OS | Номер версии Gecko |
|---|---|
| 1.0.1 | 18.0 |
| 1.1 | 18.1 |
| 1.2 | 26.0 |
| 1.3 | 28.0 |
| 1.4 | 30.0 |
| 2.0 | 32.0 |
| 2.1 | 34.0 |
| 2.2 | 37 |
| 2.5 | 44 |
Примечание: Легко найти соответствия, посмотрев на имена репозиториев Mercurial: репозитории, начинающиеся с mozilla-b2g — это репозитории релизов Firefox OS, в которых указаны и версии Firefox OS, и Gecko.
Firefox OS имеет четырёхзначный номер версии: X.X.X.Y. Первые две цифры принадлежат команде Mozilla продукта и обозначают версии с новыми функциями (например: v1.1, 1.2 и т. д.). Третья цифра увеличивается с регулярными версиями (примерно каждые 6 недель) для обновлений безопасности, а четвёртая принадлежит производителю OEM.
Firefox для iOS
Firefox для iOS использует стандартную строку UA Mobile Safari, с дополнительным маркером FxiOS/<version> на iPod и iPhone, аналогично тому, как Chrome для iOS идентифицирует себя.
| Тип устройства | Строка пользовательского агента Firefox для iOS |
|---|---|
| iPod | Mozilla/5.0 (iPod touch; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4 |
| iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4 |
| iPad | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15 |
Что касается отклонения на iPad, см. эту задачу.
Другие браузеры на основе Gecko
Вот некоторые примеры строк UA от других браузеров на основе Gecko на разных платформах. Обратите внимание, что многие из них еще не выпущены на Gecko 2.0!
| Браузер | Строка пользовательского агента Gecko |
|---|---|
| Firefox для Maemo (Nokia N900) | Mozilla/5.0 (Maemo; Linux armv7l; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 Fennec/10.0.1 |
| Camino на Mac | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Camino/2.2.1 |
| SeaMonkey на Windows | Mozilla/5.0 (Windows NT 5.2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1 |
| SeaMonkey на Mac | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1 |
| SeaMonkey на Linux | Mozilla/5.0 (X11; Linux i686; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1 |
См. также
- Строка пользовательского агента Firefox OS (пост в блоге с ссылкой на ошибку 777710)
- Окончательная строка пользовательского агента для Firefox 4 (пост в блоге)
- Рекомендации по анализу строки UA для кросс-браузерной поддержки
- window.navigator.userAgent
- Добавить версию Android в строку UA Fennec (ошибка 1169772)
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox