Война браузеров или Что делает "Mozilla" в Internet Explorer User Agent?
Работая с разными User Agents, a заметил, что все строки содержат текст "Mozilla". Странно было видеть это в Microsoft IE, Google Chrome и Apple iPhone, поэтому мне стало интересно, в чем заключается причина. Как оказалось, это длинная, но интересная история, о которой хотелось бы поведать.
В начале эры была NCSA Mosaic и Mosaic называла себя NCSA_Mosaic/2.0 (Windows 3.1) и Mosaic показывала картинки между текстом и было людям счастье.
И тут пришел новый веб-браузер, известный как "Mozilla" или как его ласково стали называть - "Mosaic Killer". Но Mosaic это не расстроило и тогда Mozilla поменяла название на Netscape и Netscape стала называть себя Mozilla/1.0 (Win3.1) и счастья стало больше. Netscape поддерживала фреймы и фреймы стали популярными среди людей, но Mosaic не поддерживала фреймы, что привело к пренебрежению Mosaic со стороны веб мастеров, которые продолжали посылать фреймы в Mozilla.
И тогда Netscape сказал, а давайте прикольнемся с Microsoft и будем называть Windows как "набор плохо отлаженных драйверов для устройств" ("poorly debugged device drivers"). И Microsoft рассердился...
И тогда Microsoft сделала свой браузер, который назвали Internet Explorer с надеждой, что он станет "Netscape Killer". И Internet Explorer поддерживал фреймы, но так как он не был Mozilla, то ему не посылали фреймы. Microsoft была нетерпеливой и не захотела ждать, когда веб мастера выучат IE и начнут слать ему фреймы, поэтому IE назвал себя мозиллосовместимым ("Mozilla compatible") и нарек себя Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) и после этого IE стал получать фреймы. Microsoft была счастлива, но веб мастера были в замешательстве.
Microsoft продавала IE вместе с Windows и сделал его лучше, чем Netscape, и первая война браузеров покатилась по Земле. Netscape была убита и царило счастье в Microsoft.
Но Netscape выродилась в Mozilla и Mozilla разработала Gecko и назвала себя Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826 и Gecko был движком для рендеринга и Gecko был хорош.
А Mozilla стала Firefox и назвала себя Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0 и Firefox был тоже очень хорош. И Gecko стали использовать другие браузеры и стали называть себя один - Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.2) Gecko/20040825 Camino/0.8.1 и Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.8) Gecko/20071008 SeaMonkey/1.0 другой. Каждый хотел быть Mozilla и все они работали на Gecko. Gecko был хорош, а IE не очень и война опять разразилась.
Почитатели Linux были очень расстроены, ведь у них был Konqueror, у которого серцем служил KHTML, который, они считали, был так же хорош как и Gecko, но это был не Gecko, поэтому ему не давали хороших страниц, поэтому Konquerer стал претендентом на роль "похожего на Gesko" чтобы получить хорошие страницы, поэтому назвал себя Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko) и это вносило замешательство.
Потом влетела комета под названием Opera со словами: "мы должны людям дать возможность самим решать, кто они" и поэтому Opera создала меню и называла себя либо Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.51, либо Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51, либо Opera/9.51 (Windows NT 5.1; U; en) в зависимости от того, что хочет пользователь.
А Apple разработала Safari и она использовала KHTML но добавила много класных рюшичек и поэтому переименовалась в WebKit. Но Apple любила страницы, написанные для KHTML, поэтому Safari назвалась Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5 и счастья стало меньше.
Но Microsoft вернулась со словами "I'll back" с Internet Explorer и новым названием Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) и она генерила хороший код, но только если веб мастера просили его об этом.
И тогда Google разработала Chrome и Chrome использовал Webkit и он был как Safari и хотел иметь страницы, написанные для Safari, поэтому хотел быть Safari. Но так как Chrome использовал WebKit, который претендовал на Safari и WebKit претендовал быть KHTML, а KHTML претендовал быть Gecko, и все браузеры хотели быть Mozilla, то 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 и строка user agent была ужасна, и все хотели быть кем то другим.
Думаю, что это еще не конец и нас ждет еще много интересных сражений. Поживем - увидим!
А пока можно почитать о User Agent и для чего он нужен в Википедии.
Компании из статьи
Microsoft Украина | Украинское подразделение компании Microsoft. |