Простите, если это неправильный сайт, чтобы задать этот вопрос; некоторые похожие вопросы были закрыты в Web Stack Exchange, поэтому я задал этот вопрос здесь. При необходимости смело переносите этот вопрос.


Многие современные браузеры идентифицируют себя со строками пользовательских агентов, содержащими Mozilla/5.0 или Gecko (как в like Gecko), которые имеют смысл только для Firefox (и более поздних версий Netscape Navigator).

Почему это все еще используется? Если, скажем, Chrome (последняя версия на момент написания этой статьи в Windows 8.1 64-bit) идентифицировал себя как

Chrome/32.0.1700.107 (Windows NT 6.3; WOW64) AppleWebKit/537.36

вместо

Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36

некоторые сайты не будут работать правильно? Есть ли еще веб-приложения, которые полагаются на эти подстроки в строке агента пользователя?

Для справки, строка пользовательского агента для Firefox 27 в 64-битной Windows 8.1:

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0

2 ответа2

0

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

Я спрашиваю, может быть, немного глупо, но для чего вам нужна информация?

0

Хорошо, я нашел ответ в переполнении стека: почему Chrome и IE помещают «Mozilla 5.0» в User-Agent, который они отправляют на сервер? (кредит дается джоати)

По сути, это исторический след, сохраняемый для совместимости с некоторыми (очень) старыми веб-сайтами. Оказывается, что в старые времена некоторые веб-сайты отказывались обслуживать определенные типы контента (например, встроенные фреймы) браузерам со строками пользовательских агентов, которые не содержали подстрок, таких как "Mozilla", включая Internet Explorer в то время. Microsoft обошла эту проблему, представившись Mozilla:

Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)

Все остальные в конечном итоге последовали его примеру, и соглашение застряло. Несмотря на то, что в настоящее время считается плохой практикой обслуживать другой контент на основе объявленной строки агента пользователя, некоторые веб-сайты все еще полагаются на то, что агент пользователя отслеживает выборочное обслуживание контента. (Черт, мой личный сайт немного нюхает UA, чтобы заблокировать известных спам-ботов!)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .