:sparkles: PWA :sparkles:
Twarz autora bloga

Piotr Kowalski

Organizator WarsawJS Trener YouTuber

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 reklamują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 na rynku przeglądarka wyświetlająca obrazki. 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, aby uniknąć podobieństwa do NCSA Mosaic. I słusznie. Lepiej rozwiać wszelkie wątpliwości, co by użytkownicy nie byli zmieszani.

Ważna informacja

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

Z tego powodu User-Agent pierwszej publicznej wersji Netscape Navigator zaczynał się od “Mozilla/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ł :smiley:

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.

Firma Netscape Communications, autorzy wtenczas najpopularniejszej przeglądarki, stworzyła silnik do renderowania stron o nazwie Gecko.

Zaimplementowali ten silnik do kolejnej wersji przeglądarki w wersji 5.0. Silnik ewoluował, przeglądarka też, jednak ta pierwsza liczba w User-Agent już nie.

Następnie nazwa przeglądarki została zmieniona na Firefox. Wersjonowanie przeglądarki było zapisywane 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.