Обновленная cтрока User-Agent в Internet Explorer 8
Как уже сообщалось в феврале прошлого года, при обращении к серверу Internet Explorer 8 отсылает обновленную строку User-Agent. С тех пор как мы писали об UA-строке, команда Internet Explorer представила функцию Compatibility View, а команда Windows недавно выпустила бета-версию Windows 7. Каждое из этих событий оказало свое влияние на UA-строку и об этом пойдет речь в статье.
UA-строка Trident/4.0
Чтобы упростить задачу пользователям, просматривающим сайты, которые блокируют UA-строку "MSIE 8.0", при просмотре сайтов в режиме Compatibility View IE8 будет отсылать строку "MSIE 7.0". Как Скотт Дикенс (Scott Dickens) уже говорил в августе, новый маркер Trident в UA строке позволяет вашему коду идентифицировать Internet Explorer 8 даже в том случае, когда пользователи используют Compatibility View.
IE8 в Windows Vista (Compatibility View)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0)
IE8 в Windows Vista
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
Как уже отмечалось в статье по способам идентификации версии IE, мы рекомендуем, чтобы разработчики не блокировали доступ к содержимому сайта на базе UA-строки. Если вы вынуждены предоставлять разным версиям браузера разное содержимое, вы должны убедиться, что будущие версии не блокируются.
UA-строка в Windows 7
В Windows 7 браузер IE8 будет отсылать строку UA-строку с маркером новой версии Windows NT.
IE8 в Windows 7
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
Если вам интересно, почему Windows 7 использует номер версии 6.1, то краткий ответ будет таким: "Так как это улучшает совместимость", а более подробный ответ может быть найден в блоге команды Windows.
Тем не менее, маркер версии Windows NT 6.1 все равно может вызывать проблемы при просмотре некоторых сайтов, которые проверяют версию операционной системы. Такие сайты могут показать сообщение об ошибке или закрыть доступ к сайту пользователям Internet Explorer 8 в Windows 7. Включение режима Compatibility View для таких сайтов не решит данной проблемы, так как данный режим изменяет только номер версии Internet Explorer, оставляя номер версии Windows прежним.
Если пользователи IE8 в Windows 7 посещают сайты, которые блокируют строку с версией Windows NT 6.1, необходимо внести изменение в реестр, чтобы изменить информацию об отправляемом номере версии Windows. Если вы столкнулись с сайтом, который блокирует пользователей Windows 7, пожалуйста, сообщите об этом сайте на Connect или в комментариях к данной статье.
Детектирование 64-разрядных версий Internet Explorer
Так как компьютеров с объемом памяти 4 Гб становится день ото дня больше, все больше пользователей переходят на 64-разрядные версии Windows. Для сохранения совместимости со сторонними приложениями в Windows x64 стандартной остается 32-разрядная версия Internet Explorer. Однако, в некоторых случаях может быть полезно, чтобы владельцы сайтов знали, что пользователи заходят на сайт, используя 64-разрядные системы. Так, например, некоторым сайтам необходимо знать, стоит ли предлагать для загрузки 64-разрядные варианты ПО.
Маркеры в строке UA также позволят определить, используете ли вы Windows х64 и Internet Explorer х64.
IE х64 в Windows х64:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0)
IE x86 в Windows х64:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0)
Кстати, WOW64 буквально значит "Windows on Windows 64-bit".
Расширение строки UA
Как говорится в статье Understanding User-Agent Strings на MSDN, пользователи или приложения могут сами добавлять строки значений UA в настройки ключей реестра. Мы настоятельно рекомендуем быть особенно внимательными при внесении дополнительных маркеров, поскольку увеличение числа разнообразных строк UA может негативно сказаться на пропускной способности сети. Помните, что UA-строка отправляется в заголовке каждого HTTP и HTTPS-запроса, исходящего от браузера или приложения, использующего IE Web Browser Control. Поэтому если вы добавите собственный маркер, сделайте его максимально коротким. Кроме того, также мы столкнулись с некоторыми сайтами, которые не работают с браузерами, UA-строка в которых превышает привычные размеры в 128 символов.
Проверить значение строки User Agent своего браузера вы можете на данной странице.
Эрик Лоуренс (Eric Lawrence),
менеджер по разработке Internet Explorer
The Internet Explorer 8 User-Agent String (Updated Edition)
Comments
Anonymous
January 19, 2009
Internet Explorer 8 в Windows 7 Многие из вас уже успели ознакомиться с бета-версией Windows 7 , в составAnonymous
January 23, 2009
Из блога о разработке контекстно-зависимых приложений для Windows 7: Контекстно-зависимое приложениеAnonymous
January 23, 2009
Последние посты из блогов MSDN о Windows 7 и IE8Anonymous
April 05, 2009
Мы уже не раз говорили о нашем подходе к совместимости с сайтами вообще и о функции Compatibility View