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.
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:
- stworzyć zupełnie nowy format, tworząc tym samym zamieszanie
- 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! 👋