Знакомство с новыми строками User Agent
Подготовила: Анна Лысак Дата публикации: 27.08.2010
Два популярных браузера в ближайшие месяцы собираются выпустить следующие стабильные версии – Internet Explorer 9 и Firefox 4. Значит, появятся и обновленные строки UA (User Agent).
Кто не в теме
«При посещении веб-сайта клиентское приложение обычно посылает веб-серверу информацию о себе. Это текстовая строка, являющаяся частью HTTP запроса, начинающаяся с User-agent: или User-Agent:, и обычно включающая такую информацию, как название и версию приложения, операционную систему компьютера и язык.» — цитата из википедии.
Internet Explorer 9
В блоге IE указывается, что 9 версия браузера будет отправлять короткие строки UA по умолчанию. Это изменение должно повысить общую производительность и совместимость браузера. Теперь IE9 будет выдавать всегда одну и туже строку UA, независимо от используемой ОС.
cтрока UA IE9
Версия совместимости (Application Version) увеличивается с “Mozilla/4.0” до “Mozilla/5.0” чтобы полностью соответствовать другим браузерам. Эти изменения показывают, что IE9 является совместимым браузером.
Version Token (версия браузера) увеличивается с "MSIE 8.0" до " MSIE 9.0.
Trident Token (версия движка) увеличивается с “Trident/4.0” до “Trident/5.0”
Режим совместимости
IE 9 в режиме IE7 Standards Mode будет выдавать строку UA в таком виде:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0)
Firefox 4
В новой версии Firefox 4, которая ожидается в октябре, также будет обновленная строка UA. В отличие от IE, у Firefox для разных платформ используются разные строки UA:
http://www.xiper.net/watch/news/znakomstvo-s-novumi-strokami-user-agent.html
http://www.cetlot.com/2009/12/change-user-agent-in-firefox-opera-chrome/
может кому-то будет интересно или пригодиться
Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1
Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1
А теперь подробнее.
Основная форма (General form)
Строчка UA разбивается на четыре составляющие:
Mozilla/5.0 (platform; rv:geckoversion) Gecko/build Firefox/appversion
Mozilla/5.0 — основной маркер, указывающий версию совместимости и является общим практически для любого браузера сегодня.
(platform; rv:geckoversion) — указывает на какой платформе работает браузер, (например, Windows, Mac или Linux) и используемую версию Gecko (например, "2.0.1").
Gecko/build — означает, что браузер на основе Gecko и обеспечивает создание идентификаторов (в формате ггммдд ) с указанием даты выпуска браузера.
Firefox / appversion идентифицирует браузер как Firefox, а также указывает его версию (например, "4.0.1 "). Этот компонент будет разным для разных Gecko-браузеров — например, для Fennec или Seamonkey — которые ведут себя очень похоже на Firefox.
Платформа Windows
UA пользователей Windows имеют несколько вариантов, где ху — версия Windows NT или Windows CE (например, Windows NT 6.1).
Windows версия Формат User Agent строки
Windows NT для x86 Mozilla/5.0 (Windows NT х.г; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Windows NT, Win64 на 64 Mozilla/5.0 (Windows NT х.г; Win64; x64; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Windows NT, Win64 на IA64 Mozilla/5.0 (Windows NT х.г; Win64; IA64; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Windows NT, WOW64 Mozilla/5.0 (Windows NT х.г; WOW64; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Windows CE Mozilla/5.0 (WindowsCE х.г; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Платформа Macintosh
Здесь xy — версия Mac OS X (например, Mac OS X 10.6).
Mac OS X версия Формат User Agent строки
Mac OS X на Intel x86 и x86_64 Mozilla/5.0 (Macintosh; Intel Mac OS X х; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Mac OS X на PowerPC Mozilla/5.0 (Macintosh; Intel Mac OS X х; Р.В.: 2.0.1) Gecko /ггггммдд Firefox/4.0.1
Платформа Linux
Linux более разнообразная платформа. Вот несколько общих примеров:
Linux версия Формат User Agent строки
Linux desktop, x86 Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1
Linux desktop, x86_64 Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1
Android Linux mobile Mozilla/5.0 (Android; Linux armv7l; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1 Fennec/2.0.1
Nokia N900 Linux mobile Mozilla/5.0 (X11; Linux armv7l; rv:2.0.1) Gecko/yyyymmdd Firefox/4.0.1 Fennec/2.0.1
Итого для Firefox 4
Убран префикс "Windows; " для платформ Windows.
Также теперь нет привязки к локализации пользователя (например, "en-US;"), потому что язык браузера не всегда соответствует языку, на котором пользователь предпочитает просматривать информацию. HTTP Accept header лучший источник информации в таком случае.
Больше не будет обозначения "U; ". Ранее это понятие использовалось, чтобы обозначить браузеры с устойчивым шифрованием и, соответственно, отсутствие "U; " обозаначало браузеры со слабым шифрованием. Сейчас браузеров со слабым шифрованием уже нет и необходимость использования этого понятия тоже отпадает.
Тестовые сборки Firefox теперь будут обозначаться также как и финальные версии - "Firefox/x.y.z".
Также возможно удаление префикса "Macintosh; " из строки для Mac.
Мобильные браузеры
Для Firefox Mobile, который более известен как Fennec, строка UA также содержит добавляемый в конце компонент Fennec / fennecversion. Для предстоящего релиза Fennec 2,0, fennecversion будет "2.0.1". Это означает, что браузер идентифицирует себя как Firefox и Fennec для совместимости с существующими сайтами.
Для мобильного браузера IE новая UA строка выглядит так:
Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0;
MSIE 7.0 — версия браузера.
"Windows Phone OS 7.0" — используемая платформа.
Trident 3.1 — версия движка.
IEMobile/7.0, — текущая версия Windows Phone Internet Explorer.
Производители устройства добавляют свою информацию в конец строки UA, указывая информацию о модели устройства и его производителе.