Spec-Zone.ru › HTTP

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
END_OF_DOCUMENT_MARKER

Фокус для 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API