Все строки пользовательских агентов популярных браузеров, даже Internet Explorer, начинаются с Mozilla/
. Почему это так?
Почему все пользовательские агенты браузеров начинаются с "Mozilla/"?
Ответ 1
Это длинная и печальная история.
Вкратце:
- Браузер Mozilla будет выпущен с помощью User-Agent
Mozilla/1.0 (Win3.1)
. Он публично переименован в Netscape, но в его User-Agent он сохраняет свое первоначальное имя. - Выпущен Internet Explorer. Он обманывает Netscape, запустив User-Agent с помощью
Mozilla/
, потому что веб-серверы обычно обнюхивали браузер и обслуживали страницы с фреймами - функция, поддерживаемая как Netscape, так и IE, но не другие браузеры той эпохи - только для Netscape. - С течением времени, Gecko, Konqueror, Opera, Safari и Chrome каждый из них решили аналогичным образом обмануть User-Agent какого-либо предыдущего браузера, чтобы манипулировать веб-страницами браузера, чтобы правильно понимать их функции браузера. В рамках этой подмены все браузеры запускают свои User-Agents с помощью
Mozilla/
, как и предыдущие браузеры. Также имеется множество других бессмыслиц, например, современный пользовательский агент Chrome, одновременно заявляющий, что он является Mozilla, Chrome, Safari и "как Gecko".
Ответ 2
Я думаю, что это имело отношение к: http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing
Еще в ранние дни Netscape (код с именем Mozilla) был основным конкурентом IE, и они хотели предотвратить отклонение сайтов, отклоняющих браузеры, отличные от Netscape.
Ответ 3
Как упомянул @Jason "Это длинная история". Подводя итог этой истории, "каждый браузер притворяется Mozilla"
Попробовав все, я наконец-то воспользовался: http://www.useragentstring.com/
Вы можете использовать вышеуказанный веб-сайт, чтобы получить отформатированный пользовательский агент и ОС.
У них есть API, который вы можете использовать напрямую...
Ответ 4
Так как Netscape идентифицировал себя, и Microsoft захотела работать с сайтами, которые обнаружат Netscape и отклонят что-либо еще.
Ответ 5
Mozilla/5.0 - это общий токен, который говорит, что браузер совместим с Mozilla и распространен почти для каждого браузера сегодня. для более подробной информации нажмите здесь
Ответ 6
Причиной этому являются печально известные браузерные войны.
Короче говоря, браузеры начали выдавать себя за какой-то другой браузер, потому что некоторые веб-сайты обслуживали контент на основе того, какой браузер запрашивал его, и они также хотели контент, предназначенный для других браузеров.
Я нахожу удивительным, что до сих пор не решена. Поскольку userAgent
не может быть безопасно удален по устаревшим причинам, почему не была представлена какая-то новая функция, четко идентифицирующая браузер? Да, в большинстве случаев вам не нужно обнаружение браузера, а скорее обнаружение функций, но это не встроенный JS!