Web Tips Dan - Info Brand Xuser Agent

Веб-советы Дэна:

Браузеры "Бренда X" -- Строки Агента Пользователя

[<== Предыдущая] | [Вверх] | [Следующая ==>]

Заметка по Идентификаторам Пользовательских Агентов (User-Agent) и Статистики Браузеров

Всякий раз, когда кто-нибудь предоставляет статистику с целью определить, какой процент пользователей использует какой браузер, - это (если это не просто чей-то домысел), вероятно, взято из анализа идентификаторов User-Agent посетителей веб-сайта. Этот идентификатор является частью протокола HTTP и строкой, которая, как правило, дает название и версию используемого браузера. К сожалению, нет никакой реальной согласованности в формате этой строки, что делает анализ очень сложным, а статистику сомнительной.

Netscape (тогда, когда он на самом деле существовал, как отдельный браузер) всегда использовал "Mozilla" как свое имя в этих строках, но многие/большинство других браузеров "лгут" и также идентифицируют себя как "Mozilla". Это установилось много лет назад (в период 1990-х "войны браузеров"), потому что другие производители браузеров хотели проходить через браузер-идентификаторы на сайтах, и это сводило на нет характерные Netscape расширения, когда использовался любой другой браузер. Так что они идентифицировали себя как Mozilla/2.0 (compatible; RealBrowserName) -- даже если они не были всегда действительно совместимы с Netscape. Один из браузеров, так делающий, был MSIE, используя строки, такие как Mozilla/2.0 (compatible; MSIE 2.0). Когда MSIE получил достаточную долю рынка, чтобы быть "браузером для подражания" многими браузерами Бренда X, вы начали видеть строки, такие как Mozilla/3.0 (compatible; MSIE 3.0; RealBrowserName), претендуя быть браузером MSIE, который притворялся Netscape. Было много споров среди разработчиков и тестеров Mozilla в первые дни о том, что делать с его строками User-Agent (которые начинались с "Mozilla / 5.0", хотя это не соответствовало фактическому номеру версии любого браузера на основе Mozilla до того времени много лет спустя, когда вышел Firefox 5.0, стремительно сменившийся на 6.0 в соответствии с их текущей стратегией быстрого релиза), с одними, кто желал начать  "с чистого листа", изменив начальное слово браузера на что-то еще (несмотря на то, что старый предварительный Firefox Mozilla Suite, флагманский проект организации Mozilla, на самом деле единственный браузер, который мог честно называть себя "Mozilla"), в тоже время с другими, кто был смертельно напуган совершить малейшее изменение (даже изменить номер версии при каждом новом выпуске, как всегда делал Netscape), чтобы не сбивать с толку "анализаторов пакетов данных браузера" и не заблокировать пользователей Mozilla на сайтах. Так что, похоже, мы застряли на неопределенное будущее со строками User-Agent, что уходят все дальше и дальше от честного описания имени и версии браузера, которое они представляют, и содержат увеличивающееся количество закоснелых непродуктивных конструкций, который не могут быть удалены потому, что какой-нибудь сайт где-нибудь предположительно зависит от присутствия этих конструкций.

Я думаю, что браузеры, которые "надувают" других подобным образом, оказывают медвежью услугу независимым браузерам. В краткосрочном плане, такие уловки помогают пользователям обойти невежественные анализаторы пакетов данных браузеров на веб-сайтах, но в долгосрочном плане это приводит к тому, что те же невежественные вебмастера видят статистику, подтверждающую их веру, что "все используют [вставьте имя популярного сейчас браузера]", даже если большая доля тех пользователей действительно используют что-то другое, но притворяется, будто использует популярный браузер. (Один сайт утвеждает, что при использовании тестовой страницы, которая и авторизовывала присутствие "MSIE" в строке User-Agent, и использовала "условные замечения", запатентированные Microsoft, чтобы вызвать определенную таблицу стилей для загрузки только в истинных MSIE браузерах, целых 18% браузеров, заявляющих, что они являются "MSIE", на самом деле не есть таковыми.) Так что все браузеры, которые я использую, имеют конфигурацию абсолютно честной строки User-Agent, где это является доступной опцией (например, моя копия Opera использовала "Opera" строку без упоминания Mozilla или MSIE, даже перед тем, как они сделали это по умолчанию), и желаю, чтобы это было по умолчанию для всех браузеров (со строкой "подмены", если вообще возможно, представленной только в качестве устанавливаемой опции для специальных целей, таких как доступ к сайту, не работающему другим образом).

Если говорить про Opera, после длительного времени недобросовестной "подмены" идентификатора, они наконец-то стали честными и начали использовать логическую строку User-Agent "Opera/x.xx". Но спустя некоторое время, они нашли  новый идиотизм для совершения: когда они достигли версии 10.0, - первый крупный браузер, который добрался до версии с двухзначным числом, - они обнаружили, что некоторые маразматические анализаторы пакетов данных браузеров не могли справиться с таким числом и смотрели только на одну цифру, читая его либо как версию 1, либо как версию 0 Opera и запрашивая, чтобы пользователи обновили свою версию браузера, прежде чем пользоваться их сайтом. Так что люди Opera должны были начать лгать заново, на этот раз, начиная свои строки с "Opera/9.80" и добавляя "Версия/10.00" позже в строке с реальной версией. Является ли это временным решением, от которого они, в конечном счете, смогут отказаться, или застряли ли они на этом пути навсегда? Будут ли другие браузеры, достигшие версии 10.0, иметь схожие проблемы в будущем? Со сколько крупным числом различных версий закончит Firefox? (У него уже есть несколько, включая бессмысленный "Mozilla/5.0", число версии Gecko, в формате "rv:"параметр, который вы можете наивно ожидать вместо знака Gecko -- который ранее имел дату создания - до Firefox 5.0, когда он был заменен на еще один неизменный окаменелый элемент '20100101' -- и настоящее число версии Firefox, следующее за "Firefox". Они срезали, однако, много жира со строки User-Agent Firefox версии 5.0, хоть и оставляя до сих пор некоторую историческую чушь для "совместимости" с другими браузерами. С другой стороны, когда они действительно в конце концов достигли версии 10.0, они справились без специального валяния дурака со строкой User-Agent, чтобы разместить версии с двухзначным числом.)

Такое ощущение, что нет конца степени идиотизма, который совершается во имя идентификации браузера. Google Chrome, например, использует Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 (некоторые из этих цифр варьируются с разными версиями). Части этого объявляют браузер Mozilla, AppleWebKit (инструментарий, используемый как часть низкоуровневого кодирования), KHTML (механизм визуализации Konqueror, от которого был образован AppleWebKit), "подобный Gecko" (механизм визуализации Mozilla, не используемый в этом браузере), Safari (браузер Apple, который также использует AppleWebKit и может рассматриваться как его брат), и (захороненный в предпоследней строке) Chrome (настоящее имя браузера). По аналогии, много базированных на Gecko браузеров, отличных от Firefox, до сих пор включают знак Firefox в своих строках User-Agent, так как Firefox популярен и поэтому более вероятно, что будет принят анализаторами пакетов, чем какой-то менее известный браузер как SeaMonkey. И в виде MSIE 11 Microsoft сам собой теперь имитирует Gecko в своих строках User-Agent... и для этого опускает указание самого MSIE!

Еще немного идиотизма заложено в секции строк User-Agent платформы Windows, и это прямая вина Microsoft: версии Windows самоидентифицируются как "Windows NT [некоторое число версии]", даже несмотря на то, что NT сам по себе устарел минимум лет десять назад. Более новые версии Windows, такие как XP и Vista и Windows 7, были вынуждены называть себя более поздними версиями NT, так чтобы программное обеспечение, создаваемое для того древнейшего Windows разнообразия продолжало работать и это продолжалось бесконечно. Чтобы добраться до вершины нелепости, их отдел маркетинга выбрал имя "Windows 7", потому что это номер был тем номером версии, до которого она добралась (несмотря на то, что номера версий Windows были хорошо спрятаны от конечных пользователей со времени действительно древнего Windows 3.1)... но затем, когда Win7 на самом деле был выпущен, технари M$ показали свой длинный нос в типах маркетинга путем присуждения той версии внутренней нумерации (видимой в строках User-Agent и подобных) "Windows NT 6.1", таким образом делая "7" неправильным (недочислом?). Когда они выйдут с Windows 8, какой номер будет это на самом деле? (6.2, по-видимому.)

Все это делает очень сложной идентификацию, какой браузер действительно был использован. Чтобы сделать это еще более сложным, существует всего несколько браузеров, которые позволяют пользователю изменять строку User-Agent, и некоторые пользователи вставляют Не твоего ума дело, название шутки, подобной Nutscrape или случайным мусорным символам. Для использования моего собственного анализа веб-логов, я работаю с процедурой Perl, разработанную мной в меру своих сил для попытки разобрать тип истинного браузера, который был использован (изменялась каждый раз, когда я запускал другой браузер, делающий это по другому), но она несовершенна. Так что не слишком доверяйте чьей-либо статистике по использованию браузеров. (И это даже не принимая во внимание различные системы веб-кэширования, делающие подсчеты попаданий всех сайтов подозрительными, и того факта, что любая статистика, основанная на попаданиях по встраиваемым изображениям, таким как каунтеры или рекламные баннеры, будет исключать браузеры в текстовом режиме, браузеры с отключенной загрузкой изображений, и доступы, совершенные пользователями с фильтрующими программами, которые не пропускают загрузку интернет рекламы и т.д.)

Попробуйте Мой Анализ Браузера CGI Сейчас!

Также отметьте, что "пользовательские агенты" – не есть полностью синонимами браузерам. Браузеры – это пользовательские агенты, но так же, как и многие другие вещи, например, роботы индексации. Так же, как и странные имена, подобные "Скутер", вы можете увидеть в ваших логах не браузеры "бренда X", но индексаторы поисковых систем. Будьте гостеприимны к ним или вы не будете индексированы, или будете индексированы под чем-то неподходящим (попробуйте поисковую систему Google  для "Неподдерживаемого Браузера" некоторое время и посмотрите, как много сайтов, что проявили невежливость к роботу Google, были индексированы их "Получи браузер получше, лузер"отказывающей страницей больше, чем их реальным содержанием). К сожалению, спаммеры также имеют роботов, ходящих по веб-сайтам, собирающих урожай е-мейлов, чтобы надоедать.

Другие пользовательские агенты включают в себя программы загрузки сайта для автономного просмотра или для того, чтобы сгенерировать карту или план сайта. Другие – это "менеджеры по загрузке," такие как Go!Zilla и SmartDownload, работающие, когда пользователь начинает загружать запускаемый файл из Сети, управляя процессом загрузки и предоставляя возможность возобновлению остановленной загрузки. Вы можете увидеть любой из этих процессов в вашем журнале браузера.

Зал Позора

Делайте ваш сайт лучше, глядя на другие сайты, показывающие, например, как не надо делать!

ЗАМЕТКА: Включение сайта в мои ссылки "Зала Позора" не должны толковаться, как личная атака на создателя сайта, кто может быть действительно прекрасным человеком, или даже как атака на приведенный веб-сайт, в целом, который может быть источником действительно ценной информации и/или развлечением. Скорее, это просто выделение специфичных характеристик (преднамеренно или случайно) приведенных сайтов, создающих проблемы, которые можно было бы избежать при лучшей конструкции сайта. Если вы нашли один из ваших сайтов, указанный здесь, не обижайтесь; улучшайте ваш сайт, так что я должен был бы убрать ссылку!

(Смотрите также еще чей-то Зал Позора Анализа User-Agent, который имеет похожую идею в форме блога!)

Ну, по крайней мере никакой из нижеприведенных сайтов не сажает пользователей в тюрьму за использование "неправильного" браузера!

  • The Oregon health insurance exchange site in 2013 says it is designed only for Internet Explorer, and shouldn't be used with other browsers.
  • Сайт Орегона по обмену медицинскими страховыми полисами в 2013 сказал, что он спроектирован только под Internet Explorer, и не должен быть использован другими браузерами.
  • В то время как он не использует на самом деле никакие глупые анализаторы пакетов User-Agent, чтобы отказывать в доступе "неправильным" браузерам, явно сайт Британского правительства для подачи заявлений на льготы работает только на архаичных версиях Internet Explorer и даже не на текущих версиях того браузера, не говоря уже о других браузерах и оперативных системах. И это в 2013 году.
  • Компания в Словакии была оштрафована за отказ в использовании государственной электронной веб-системы для подачи их налоговых документов, потому что компания не имела систем на базе Windows, а плохо реализованные приложения работают только в M$IE на базе Windows.
  •  New York Post специально заблокировал доступ с браузера iPad Safari , чтобы заставить людей использовать их платные приложения для чтения газеты, но странным образом оставил его читаемым для других браузеров, таких как Skyfire и Opera Mini, которые могут быть запущены на том же устройстве.
  • Сайт для получения Разрешения на поездку в Вашингтон для туристических автобусов и подобных сообщал "Потребители должны использовать Internet Explorer при попытке пользования Сайтом Разрешения на Поездку." (Похоже, он больше не сообщает этого.)
  • Сайт FedEx , как сообщается, прогоняет людей, использующих "неправильную" оперативную систему, такую как Linux, говоря им, что они используют неподдерживаемый браузер и должны переключиться на IE или Firefox (даже если они используют версию Linux Firefox).
  • Этот сайт говорил мне "Нам жаль, но этот сайт в данный момент не совместим с Netscape", несмотря на то, что я не пользовался Netscape в то время.
  • Чемпион Реестра Бесчестия Зала Позора: Приложение помощи при стихийных бедствиях FEMA запрашивало MSIE 6.0 во время урагана Катрина и отказывало вам в доступе, если вы использовали что-то другое. В справедливом мире человек, ответственный за такое, был бы приговорен к недели жизни в том, что осталось от Супердома Нового Орлеана (убежище при крайней мере – прим.пер.), среди груды экскрементов, оставленной эвакуированными беженцами. Если подумать, многие из персонала FEMA заслуживают такой судьбы. Однако они, оказалось, исправили свой сайт сейчас, так что он теперь не отказывает в доступе пользователям всех браузеров. Они до сих пор заслуживают заметку "позора" за когда-либо спроектированный сайт с настолько тупым ограничением.
  • Защищенный сайт Hilton перенаправляет каждого, чья строка User-Agent не начинается с "Mozilla" на так называемую Страницу Веб-Стандартов; я полагаю, что пропустил часть данных W3C, которая делала ее "веб-стандартизированной", - строки User-Agent должны начинаться с "Mozilla". (Opera в своей честной идентифицирующей модификации провалила этот тест.)
  • Big Noise Music отправляет каждого, кто не использует IE для Windows, на страницу, которая говорит, что вам нужен "Internet Explorer 5 (или лучше)". Mozilla намного лучше, но они все равно не дают ему доступ.
  • MovieLink блокирует каждый браузер, кроме MSIE, каждую платформу, кроме Windows, и также отказывает вам, если файлы cookie или скрипты отключены, если ваша скорость связи кажется слишком медленной или вы кажетесь находящимися за пределами Соединенных Штатов. Отчеты такие, что даже новая бета-версия Internet Explorer блокируется, так как разработчики этого сайта, похоже, заняли позицию "Налагай запрет на всех и на все, если только не разрешено специально."
  • Другой сайт, который не принимает Opera, но взаимодействует с Mozilla, - это PhotoDisc (Getty Images). Их "Проваливай!" страница говорит тебе установить IE или Netscape, умалчивая про Mozilla или Safari. С тех пор как их предложения представляют особый интерес графическим профессионалам, многие из которых используют Mac, идущий вместе с Safari как со своим стандартным браузером, нет никакого смысла для этих людей менять свой браузер, чтобы вынести себе мозг таким образом.
  • Proffs.nu ранее перенаправлял все не-MSIE браузеры к действительно противной странице, которая читала лекции производителям браузеров о том, как им нужно быть ошибочно-совместимыми с MSIE, потому что это то, что использует остальной мир, и говорила пользователям либо "обновить версию браузера" до MSIE, либо, по крайней мере, перенастроить свои браузеры на видимость, будто они – MSIE, чтобы обойти перенаправление. (Эта последняя часть совета может быть переведена так: "Пожалуйста, заставьте ваш браузер лгать о своем имени для того, чтобы пройти мимо скудоумия придурковатых веб-мастеров вроде нас.") Однако они изменили это позже и стали давать доступ всем браузерам (и даже иметь иконки "Загрузите Mozilla Firefox" и W3C, идентифицирующую действительный HTML). Тем не менее, они до сих пор говорят, что имеют некоторые страницы, которые заблокированы для пользователей не-MSIE, потому что они "не отображают эти страницы таким образом, каким бы им хотелось" и "не могут справиться с некоторыми веб-технологиями Microsoft" -- другими словами, автор сайта до сих пор не может удержаться от использования собственных вещей и зависит от причуд браузера. Хотя я не думаю, что эта часть сайта до сих пор там после последующего перепроектирования.
  • Этот сайт кредитного союза сообщает многим пользователям (включая тех, кто использует Mozilla Suite), что их браузеры "нестандартны", затем дает им ссылку для входа на сайт все равно; однако, в некоторых случаях, эта ссылка не работает (я думаю, это зависит от того, были ли включены файлы cookie).
  • NatWest поддерживает Mozilla, но если вы попытаетесь войти на их сайт через новый переименованный SeaMonkey (что абсолютно тоже самое, что и Mozilla, но под другим именем), вам будет отказано в доступе.
  • Blue Shield of California считает целесообразным перенаправлять некоторые страницы при доступе к ним через некоторые «неправильные» браузеры к  этой "Вы Должны Установить Новую Версию Браузера" странице. Я не уверен точно, какие браузеры отсылаются туда; кажется, он работает нормально в Mozilla. Я не вижу ничего такого на сайте, что не могло быть сделано просто на отлично с браузер-нейтральным кодом.
  • Секция выгод Fidelity Investment , как сообщается, отклоняет "неправильные" типы браузеров, но, похоже, работает для меня в Mozilla. Так что я предполагаю, что Mozilla не является "неправильным" сайтом, но, по отчетам, Opera является, по крайней мере, когда он установлен на честную самоидентификацию.
  • NetZero использует эту страницу  для сообщения пользователям Netscape 6.x, что они должны вернуться к версии Netscape 4.x, чтобы их служба работала. (По имеющимся сведениям, эта страница помещает некоторые браузеры в бесконечный цикл с постоянной перезагрузкой пустой страницы, возможно, в случаях, когда файлы cookie отключены.)
  • Facebook перенаправляет некоторые браузеры (включая Lynx и Links) на страницу, которая говорит "мы недостаточно круты, чтобы поддерживать ваш браузер."
  • Google Карты имеют широкий спектр поддерживаемых браузеров, чем большинство из "толпы анализаторов пакетов данных браузеров", но если вы используете что-то отличное от IE, Mozilla, Firefox, или Netscape, или слишком старую версию любого из них, вам все равно будет отказано в доступе.
  • TotalJobs утверждает в своей "Браузерной Политике" открытым текстом, что блокирует различные браузеры, включая Mozilla и Firefox. Однако, их невежественные разработчики, по-видимому, не могут даже правильно настроить простую блокировку браузеров; кажется, нет никаких проблем с доступом на их сайт через те браузеры.
  • Является ли изменение позиции честной игрой? Блог Бена Гуджера, горячего сторонника браузера Mozilla's Firefox, ранее отвергавшего всех пользователей MSIE, посылая их на страницу, которая говорила "Браузер, который вы используете (Microsoft Internet Explorer) не поддерживается в это время из-за неполной поддержки веб-стандартов." Некоторые другие пользователи браузеров, такие как пользователи предварительных Firefox Mozilla браузеров, могли видеть сайт, но иметь заботливое напоминание об установлении новой версии Firefox. (Однако, похоже, что блог больше так не делает). Я думаю, что отказывать людям в посещении сайта по причине имени браузера, который они используют, неправильно, какой бы браузер не дискриминировался, так что я должен выступить против этого. (Позднее , эта статья заявила, что компания сэкономила много денежных средств путем полного отказа от поддержки IE, но эта статья датирована 1 апреля, заставляя задуматься, серьезна ли она или это первоапрельская шутка.)
  • По иронии, собственный сайт Mozilla ответственен в подобных, основанных на User-Agent, блокировках; они запретили доступ к сайту Addons, если вы пользуетесь определенными старыми версиями Firefox, как было обсуждено в этих ветках форума. Это диктовала необходимость в вопросе по безопасности, где те версии могли исполнять вредоносный код из других сайтов и вводить браузер в заблуждение, что это пришло с сайта плагинов Mozilla. Это могло быть остановлено только блокировкой самого подозрительного сайта.

Ссылки