Строка агента пользователя Microsoft Edge

Строка агента пользователя Microsoft Edge

Я только что заметил, что в то время как все остальные браузеры, похоже, имеют свои собственные строки user agent, в Microsoft Edge они выглядят примерно так:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

Почему в нем есть Mozilla, Chrome и Safari, а не только Edge?

решение1

Так почему же в нем есть Mozilla, Chrome и Safari, а не только Edge?

Разработчики веб-страниц просто ленивы и пытаются запретить посетителям использовать определенные браузеры, поскольку хотят использовать более простую структуру, которая поддерживается только определенными браузерами.

Это также преднамеренное решение дизайна, чтобы ограничить полезность проверок user-agent. Это решение, вероятно, основано на том факте (с точки зрения разработчиков Spartan/Edge), что в прошлом веб-сайты искали специально IE и уведомляли пользователей о необходимости использовать другой браузер.

Поскольку Edge/Spartan был первой попыткой Microsoft модернизировать движок Trident, а целью Edge/Spartan было соответствовать набору функций (Blink, AppleWebKit и Gecko) того времени, пользовательский агент, просто рекламирующий себя как все, является одним из способов помешать разработчикам веб-страниц легко ориентироваться на Edge так же, как они ориентировались на IE.

Многие веб-сайты, которые вы посещаете сегодня, не будут отображаться в IE, поскольку они не закодированы должным образом и обычно отображают страницу так, как если бы она отображалась в старом браузере, хотя Internet Explorer 11 поддерживает многие из новых веб-стандартов. Некоторые страницы будут отображаться некорректно в IE, но при этом будут прекрасно работать в других браузерах, таких как Chrome или Firefox.

Также существует проблема с прерывистой прокруткой, которая не исчезает на некоторых веб-сайтах даже после отключения плавной прокрутки, а в некоторых случаях важные элементы не отображаются, поскольку веб-страница идентифицирует ваш браузер как IE.

Новый движок Spartan от Microsoft маскируется под Chrome

Chrome и Firefox также делают нечто подобное:

Mozilla/5.0 (Windows NT XY; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/50.0.2657.0 Safari/537.36,gzip(gfe),gzip(gfe)"

Стоит отметить, что пользовательский агент IE11 похож:

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) как Gecko

Изменения строки агента пользователя

решение2

Edge притворился Chrome, а Chrome притворился Safari, а Safari притворился Mozilla. И Edge использовал EdgeHTML, но не раскрыл его, и Chrome использовал Blink, но не раскрыл его, но Chrome притворился WebKit. И Webkit притворился KHTML, а KHTML притворился Gecko. И путаница чрезвычайно распространилась по всему вебу.

Взято изКаково имя строки User Agent для Microsoft Edge?комментарий отКлод

Строка Microsoft Edge UA:

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

Я подробно расскажу почему в этом посте в блоге.

Недавно Neowin сообщил, что новый браузер Microsoft для Windows 10, Spartan, использует строку Chrome UA,«Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0». Это сделано намеренно.

Вы также заметите, что вся строка заканчивается на «Edge/12.0», чего нет в Chrome.

Я должен отметить, что это не кардинальный отход от того, что Microsoft сделала с IE 11, который в Windows 8 выглядит так: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0), как и Gecko, как объясняется в этом посте.

Что отслеживает User Agent?

Часто веб-разработчики используют UA sniffing для обнаружения браузера. Mozilla хорошо объясняет это в своем блоге:

Обслуживание различных веб-страниц или сервисов для различных браузеров обычно является плохой идеей. Интернет должен быть доступен всем, независимо от того, какой браузер или устройство они используют. Существуют способы разработки веб-сайта для постепенного улучшения его на основе доступности функций, а не путем ориентации на определенные браузеры.

Вот замечательная статья, объясняющая историю User Agent.

Часто ленивые разработчики просто ищут строку UA и отключают контент на своем сайте, основываясь на том, какой браузер, по их мнению, использует посетитель. Internet Explorer 8 — это распространенная причина разочарования разработчиков, поэтому они часто проверяют, использует ли пользователь ЛЮБУЮ версию IE, и отключают функции.

Команда Edge более подробно описывает это в своем блоге.

Все строки пользовательских агентов содержат больше информации о других браузерах, чем о самом используемом вами браузере — не только токены, но и «осмысленные» номера версий.

Строка UA Internet Explorer 11:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) как Gecko

Строка Microsoft Edge UA:

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, как Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

Патрик Х. Лауке в дискуссиях W3C метко охарактеризовал свойство userAgent как «постоянно растущий пакет лжи». («или, скорее, балансирующий акт добавления достаточного количества устаревших ключевых слов, который не приведет к немедленному отказу старого кода анализа UA, при этом все еще пытаясь передать немного действительно полезной и точной информации»).

Мы рекомендуем веб-разработчикам избегать UA sniffing как можно больше; современные функции веб-платформы почти все легко обнаруживаются. Например,Модернизрбиблиотека — это фантастический и простой способ обнаружения особенностей.

За последний год мы видели несколько сайтов UA-sniffing, которые были обновлены для обнаружения Microsoft Edge… только чтобы предоставить ему устаревший путь кода IE11. Это не лучший подход, поскольку Microsoft Edge соответствует поведению «WebKit», а не поведению IE11 (любые различия Edge-WebKit являются ошибками, которые мы хотим исправить).

По нашему опыту, Microsoft Edge лучше всего работает на путях кода 'WebKit' на этих сайтах. Кроме того, с появлением Интернета на более широком спектре устройств, пожалуйста, предположите, что неизвестные браузеры хороши – пожалуйста, не ограничивайте свой сайт работой только на небольшом наборе известных браузеров. Если вы сделаете это, ваш сайт почти наверняка сломается в будущем.

Заключение

Представляя строку Chrome UA, мы можем обойти уловки, которые используют эти разработчики, чтобы предоставить пользователям наилучший опыт.

Взято изКаково имя строки User Agent для Microsoft Edge?ответ отДэйв Войлс.

Связанный контент