Чому всі користувацькі агенти браузерів починаються з "Mozilla /"?


210

Починають усі рядки користувацьких агентів браузерів, навіть Internet Explorer Mozilla/. Чому це так?


2
Користувацькі агенти використовувались для того, щоб сказати веб-серверам: « Я не випадкове лайно; Я також підтримую функції, які ці підтримують. Будь ласка, не дискримінуйте мене ». Отже, користувальницький агент браузера, у якому є всі інші.
Константин Ван

Відповіді:


285

Це довга і сумна історія .

Підсумовуючи:

  1. Браузер Mozilla випускається разом із User-Agent Mozilla/1.0 (Win3.1). Він публічно перейменований на Netscape, але в своєму User-Agent він зберігає своє первісне ім'я.
  2. Випущено Internet Explorer. Він підробляє Netscape, запускаючи його User-Agent, Mozilla/оскільки веб-сервери регулярно нюхають браузер і обслуговують сторінки з кадрами - функція, що підтримується як Netscape, так і IE, але не інші браузери епохи - лише для Netscape.
  3. З часом Gecko, Konqueror, Opera, Safari та Chrome вирішують аналогічно підробляти User-Agent деякого попереднього веб-переглядача, щоб маніпулювати веб-сторінками, що нюхають браузер, щоб правильно зрозуміти особливості свого браузера. У рамках цієї підробки всі браузери запускають свої User-Agents Mozilla/, як і браузери до них. Також є безліч інших дурниць, як сучасний User-Agent Chrome, який одночасно претендує на Mozilla, Chrome, Safari і "як Gecko".

18
Зауважте, що "Mozilla" тут не є поточним проектом з відкритим кодом цього імені, а оригінальним кодовим іменем Netscape, який вважається посиланням на "Мозаїчний вбивця". Кодове ім'я було використано багато років потому для проекту з відкритим кодом, двигуном візуалізації якого є "Gecko", згаданий тут.
IMSoP

75
І ось ми у 2015 році, як і раніше увічнюємо дурість. Рядок користувача агента MS Edge є 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.
filoxo

18
Не дивно, що виявити браузер важко, всі вони прикидаються один одним!
Сарсапарілла

3
Війни браузера не були без жертв.
Pikamander2

11
Якщо userAgentString - це такий безлад, то чому він не застарілий та / або видалений?
Мелвін Абрахам


10

Як згадував @Jason "Це довга історія". Підсумовуючи цю історію, "її кожен браузер видає себе за Mozilla"

Перепробувавши все, я нарешті використав: http://www.useragentstring.com/

Ви можете скористатися вищевказаним веб-сайтом, щоб отримати відформатований агент користувача та ОС.
У них є API, який ви можете використовувати безпосередньо ...


1
Педантична корекція: кожен браузер, включаючи Mozilla, видає себе за Netscape, користувацьким агентом якого став Mozilla. Те, що кодове ім’я було повторно використане, просто додає плутанини.
IMSoP

Кодова база Mozilla та Firefox спочатку була частиною Netscape. Ось чому багато внутрішніх API-файлів Firefox мають "ns" як свій префікс.
Лежи Райан

2

Тому що саме так ідентифікував себе Netscape, і Microsoft хотіла працювати з сайтами, які б визначали Netscape і відкидали все інше.


1

Причиною цього є сумнозвісні браузерні війни .

Коротше кажучи - браузери почали видавати себе за якийсь інший браузер, оскільки деякі веб-сайти подавали вміст, на основі якого браузер просив цього, і вони також хотіли, щоб вміст призначений для інших браузерів.

Мені здається дивним, що це досі не вирішено. Оскільки userAgentз застарілих причин не можна їх безпечно видалити, чому якась нова функція, що чітко визначає браузер, не була введена? Так, більшість часу вам не потрібно виявлення браузера, а швидше виявлення функцій, але це також не вбудований JS!


0

Mozilla / 5.0 - це загальний маркер, який говорить, що браузер сумісний з Mozilla і є загальним для майже кожного браузера сьогодні. для більш детальної інформації натисніть тут


2
Це трохи вводить в оману - зауважте, що "Mozilla", про який йдеться, є насправді браузером Mozilla (Mosaic-убивця), який був ребрендований до Netscape перед випуском (і про який більшість читачів, мабуть, ніколи не чули за його оригінальною назвою) - не Mozilla - це спільнота безприбуткового програмного забезпечення, яка існує і сьогодні.
Марк Амері
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.