Все строки пользовательского агента популярных браузеров, даже Internet Explorer, начинаются с Mozilla/
. Почему это так?
Почему пользовательские агенты всех браузеров начинаются с Mozilla/?
Ответы (6)
Это долгая и грустная история.
В итоге:
- Выпущен браузер 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 какого-либо предыдущего браузера, чтобы манипулировать веб-страницами, анализирующими браузер, для правильного понимания функций своего браузера. В рамках этого спуфинга все браузеры начинают свои пользовательские агенты с
Mozilla/
, как это делали браузеры до них. В результате возникает множество других глупостей, таких как пользовательский агент современного Chrome, одновременно утверждающий, что он Mozilla, Chrome, Safari и «как Gecko».
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1
.
- person filoxo; 04.08.2015
userAgent
String такой беспорядок, то почему он не устарел и/или не удален?
- person Melvin Abraham; 03.06.2019
Я думаю, это было связано с: http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing
В самом начале Netscape (кодовое название Mozilla) был основным конкурентом IE, и они хотели, чтобы сайты не отвергали другие браузеры, кроме Netscape, не допускали их отклонения.
Как упомянул @Jason, «это длинная история». Подводя итог этой истории, «просто каждый браузер притворяется Mozilla».
Перепробовав все, я, наконец, использовал: http://www.useragentstring.com/
Вы можете использовать указанный выше веб-сайт, чтобы получить отформатированный пользовательский агент и ОС.
У них есть API, который вы можете использовать напрямую...
Потому что Netscape идентифицировал себя именно так, а Microsoft хотела работать с сайтами, которые обнаруживали бы Netscape и отвергали все остальные.
Mozilla/5.0 — это общий токен, указывающий, что браузер совместим с Mozilla, и используется почти во всех современных браузерах. подробнее нажмите здесь
Причиной этого являются печально известные войны браузеров.
Короче говоря, браузеры начали притворяться каким-то другим браузером, потому что некоторые веб-сайты обслуживали контент в зависимости от того, какой браузер запросил его, и они также хотели контент, предназначенный для других браузеров.
Я нахожу удивительным, что она до сих пор не решена. Поскольку userAgent
нельзя безопасно удалить по устаревшим причинам, почему не была введена какая-то новая функция, четко идентифицирующая браузер? Да, в большинстве случаев вам не нужно определение браузера, а скорее определение функции, но это также не встроенный JS!