Przejdź do treści

Dlaczego User-Agent zaczyna się od "Mozilla 5.0..."?

Czy zastanawiałeś się kiedyś, dlaczego User-Agent w każdej przeglądarce rozpoczyna się od Mozilla/5.0 ...? Jaki związek ma program Internet Explorer z Firefoxem? Może ktoś tutaj współpracuje? Zaraz wszystkiego się dowiesz.

Baner promujący artykuł

Historia

Jeśli znasz historię języka JavaScript, to na pewno kojarzysz taką nazwę jak Mosaic. Jeśli nie, to zapraszam Cię do zapoznania się z nią w artykule, którego napisałem kilka tygodni temu.

W skrócie.

W 1993 roku została opublikowana pierwsza popularna przeglądarka wyświetlająca obrazki w treści strony (wcześniej potrafiła to m.in. przeglądarka ViolaWWW, ale nie zdobyła takiej popularności). Aplikacja nosiła nazwę NCSA Mosaic i została opublikowana przez bardzo ważny organ, który mocno przyczynił się do rozwoju IT, czyli National Center for Supercomputing Applications (NCSA).

Jej User-Agent zaczynał się od “Mosaic/0.9”.

  • “Mosaic” - nazwa aplikacji
  • “0.9” to oczywiście wersja

Rok później, tj. w 1994, powstała nowa przeglądarka, której nazwa kodowa to “Mozilla”, czyli “Mosaic Killer Godzilla”. Nazwa została wymyślona przez jednego z programistów zespołu projektowego przeglądarki, Jamiego Zawińskiego, który był fanem Godzilli.


O tym wszystkim informuje w komentarzu na portalu Quora, jeden z założycieli firmy Netscape - Lou Montulli. Lou był odpowiedzialny za multi-platformowy kod sieciowy i to on zmienić User-Agent z “Mosaic” na “Mozilla”.

Nowa przeglądarka miała za zadanie zdeklasować obecnego lidera i podbić rynek przeglądarek.

Rok później weszła ona na czołową pozycję wśród programów, dzięki którym można serfować po internecie.

Po drodze nazwa została zmieniona na Netscape Navigator, bo NCSA i Uniwersytet Illinois zakwestionowali użycie nazwy “Mosaic” (spór o znak towarowy z NCSA Mosaic). Firma Mosaic Communications zmieniła wtedy nazwę na Netscape Communications.

Ważna informacja

Nazwa programu się zmieniała, jednak User-Agent pozostał.

Z tego powodu User-Agent Netscape Navigator od pierwszych wersji zaczynał się od “Mozilla/” i numeru wersji przeglądarki, np. “Mozilla/2.02” w Navigatorze 2.02.

Dlaczego prefix się nie zmienił?

Gdy rynek został podbity przez jedną przeglądarkę, a Ty chcesz zrobić nową, to masz dwie drogi w zdefiniowaniu User-Agenta:

  1. stworzyć zupełnie nowy format, tworząc tym samym zamieszanie
  2. albo skopiować od aktualnego lidera i lekko zmodyfikować “pod siebie”

Wszyscy kolejni producenci nowych aplikacji do przeglądania internetu stwierdzili, że nie ma sensu tworzyć zupełnie nowej składni i tak wykorzystywali UA obecnie najpopularniejszej przeglądarki.

Wykorzystanie wówczas najpopularniejszego User-Agenta, niosło za sobą pewną korzyść. Właściciele stron serwowali dla nie-Mozillowych klientów okrojoną wersję strony. To jest kolejny argument, dla którego lepiej podszyć się pod najpopularniejszą przeglądarkę i prezentować użytkownikom normalną wersję.

Rozwiązanie Microsoftu

Niektóre przeglądarki np. Internet Explorer dodawały do User-Agenta wyraz “compatible”, po to, aby zasygnalizować, że przeglądarka jest kompatybilna z obecnie najlepszą, ale nią de facto nie jest.

Ciekawy pomysł 😄

I tak pierwsza publiczna wersja Internet Explorer 3 uruchomiona na Windows 95, miała User-Agent-a w postaci: Mozilla/2.0 (compatible; MSIE 3.02; Windows 95).

Ciekawostka

Internet Explorer w wersji 4.5 były opublikowany tylko na Mac-i.
Jego User-Agent to: Mozilla/4.0 (compatible; MSIE 4.5; Mac_PowerPC).

Ale dlaczego akurat “5.0”?

Po drodze nazwa przeglądarki Netscape Navigator zmieniła się dwukrotnie. Na początku Netscape Communicator, a potem na po prostu Netscape.

W 1998 roku Netscape Communications, autorzy wtenczas najpopularniejszej przeglądarki, otworzyli jej kod i powołali projekt Mozilla, w którym powstał nowy silnik do renderowania stron o nazwie Gecko.

Netscape 5.0 nigdy nie został wydany. Gecko trafił do Mozilla Suite i do Netscape 6 (2000), a oba wysyłały w User-Agent “Mozilla/5.0”. Silnik ewoluował, przeglądarki też, jednak ta pierwsza liczba w User-Agent już nie.

Z projektu Mozilla wyrosła też osobna przeglądarka, Firefox (2004), która używa Gecko i również wysyła “Mozilla/5.0”. Wersja samej przeglądarki jest zapisywana jako osobna (dodatkowa) liczba.

Przykład

Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0.1.

W tym konkretnym przypadku, wersja przeglądarki to “15.0.1”.

Nie ma sensu zmieniać teraz budowy User-Agenta, ponieważ trzeba by było zaktualizować cały software sieciowy, który analizuje ten string. Dlatego też prefix “Mozilla/5.0” zostanie już z nami na zawsze.

•

Bibliografia

Więcej na temat historii User-Agentów możecie przeczytać na blogu Nicolasa Zakasa. Polecam również poczytać historię User-Agent–w przeglądarki Firefox. Kolejną interesującą lekturą jest historii User-Agentów przedstawiona w zabawny sposób przez jednego z nas - programistów webowych.

Cya! 👋