Przedstawianie się przeglądarek
Saturday, 2. December 2006, 21:22:45
Dzisiaj nie ma wątpliwości, że przez niedoinformowanych ludzi producenci przeglądarek muszą robić głupie rzeczy z przedstawianiem się ich programów. Chodzi o tak zwany User Agent. Zasadniczo są trzy rozwiązania tego problemu:
1. Tak zaprojektować ów nieszsczęsny ciąg tekstu, aby część skryptów się myliła i uznawała mniej popularną przeglądarkę za popularną. Wygląda to jednak mało estetycznie i część skryptów odpowiedzialnych za zliczanie popularności różnych przeglądarek myli się na niekorzyść tych mniej popularnych.
2. Stworzyć przełączanie się między różnymi wersjami owego ciągu, w zależności od tego, jak bardzo niedoinformowany był autor danego skryptu.
3. Zdobyć popularność, aby nawet ci niedoinformowani zdawali sobie sprawę z potrzeby wspierania danej przeglądarki.
Paradoksalnie trzecie rozwiązanie nie jest praktykowane.
Przeglądarka Microsoftu kiedyś była mało popularnym programem i jej programiści zostali zmuszeni do udawania lidera dawnej epoki, przeglądarki Netscape’a. Aby nowe wersje Internet Explorera nie trafiły na problem z niedoinformowanymi, User Agent był zmieniany bardzo nieznacznie, aby prymitywne skrypty nadal wykrywały produkt Microsoftu poprawnie.
User Agent Firefoksa jest jeszcze bardziej skomplikowany, ale tutaj też jest stosowne uzasadnienie. Kiedy powstawał silnik Gecko, który napędza teraz Firefoksa, był on tworzony z myślą o zastosowaniu go w kolejnej wersji przeglądarki Netscape Navigator. Przeglądarka, na której go testowano, została ostatecznie nazwana Mozilla Suite. Numery wersji tej przeglądarki pokrywały się z numerami silnika Gecko. Z pewnych powodów User Agent zaprojektowano tak, aby skrypty rozpoznawały go jako kolejną wersję przeglądarki Netscape Navigator. Jeśli się nie mylę, umieszczono dodatkowo informacje, że to silnik Gecko w danej wersji.
Kiedy pałeczka testowej przeglądarki dla silnika Gecko wpadła w łapki Firefoksa, trzeba było zaprojektować dla niej trochę inny User Agent. Dokładniej poszerzyć wersję Mozilli Suite o kilka dodatkowych wyrazów i cyferek, aby można było ustalić, że to Firefox w danej wersji. Podobnie wcześniej postąpiono w przypadku Netscape’a.
I zrobiło się trochę tłoczono. Mamy w tym jego User Agent kanoniczny fragment, że to Netscape Navigator 5, dokładniej, że to przeglądarka oparta na silniku Mozilla 5. Potem jest wrzucony niedbale fragment, że to przeglądarka oparta o silnik Gecko w danej wersji. Właśnie ten niedbale wrzucny fragment ma pewne znaczenie dla webmasterów. Dla formalności wrzucono jeszcze fragment, że to Firefox w danej wersji.
Niestety niedoinformowani znowu popisali się swoim niedoinformowaniem i sprawdzają ten ostatni fragment, którego techniczne znaczenie jest znikome. W efekcie wszystkie przeglądarki, które są oparte o silnik Gecko, muszą udawać, że są Firefoksem. I dla formalności dorzucać jeszcze swoją nazwę... Inaczej strony niedoinformowanych będą źle działały. Przeglądarki oparte na mniej popularnych silnikach mają jeszcze więcej potrzebnych śmieci w swoich ciągach identyfikujących.
Najrozsądniejszym rozwiązaniem w tej chorej materii wydaje się User Agent, który dostosowuje się do poziomu niedoinformowania autora danej strony. Dla stron doinformowanych ludzi wysyła poprawną i estetyczną wersję pozbawioną śmieci. Do stron niedoinformowanych wysyła zaś długie potworki. Zaletą tej metody jest to, że w razie potrzeby będzie można przedstawić się dokładnie tak, jak inna przeglądarka, ale dla większości systemów statystyk przedstawiać się własną nazwą. Zastosowano to w najnowszej Operze, pozostałe przeglądarki też powinny pójść tym śladem.
Było by bardzo miło i estetycznie, gdyby Mozilla Fundation pozbyła się z User Agent Firefoksa początkowej wstawki Mozilla z numerem 5 i zastąpiła Gecko z odpowiednim numerem. To samo tyczy się też Microsoftu. Byłoby trochę problemów z skryptami niedoinformowanych, ale umieszczenie istotnej informacji na początku byłoby logicznym rozwiązaniem. Bo teraz trzeba się grzebać wśród śmieci, a śmieci łatwo pomylić.
1. Tak zaprojektować ów nieszsczęsny ciąg tekstu, aby część skryptów się myliła i uznawała mniej popularną przeglądarkę za popularną. Wygląda to jednak mało estetycznie i część skryptów odpowiedzialnych za zliczanie popularności różnych przeglądarek myli się na niekorzyść tych mniej popularnych.
2. Stworzyć przełączanie się między różnymi wersjami owego ciągu, w zależności od tego, jak bardzo niedoinformowany był autor danego skryptu.
3. Zdobyć popularność, aby nawet ci niedoinformowani zdawali sobie sprawę z potrzeby wspierania danej przeglądarki.
Paradoksalnie trzecie rozwiązanie nie jest praktykowane.
Przeglądarka Microsoftu kiedyś była mało popularnym programem i jej programiści zostali zmuszeni do udawania lidera dawnej epoki, przeglądarki Netscape’a. Aby nowe wersje Internet Explorera nie trafiły na problem z niedoinformowanymi, User Agent był zmieniany bardzo nieznacznie, aby prymitywne skrypty nadal wykrywały produkt Microsoftu poprawnie.
User Agent Firefoksa jest jeszcze bardziej skomplikowany, ale tutaj też jest stosowne uzasadnienie. Kiedy powstawał silnik Gecko, który napędza teraz Firefoksa, był on tworzony z myślą o zastosowaniu go w kolejnej wersji przeglądarki Netscape Navigator. Przeglądarka, na której go testowano, została ostatecznie nazwana Mozilla Suite. Numery wersji tej przeglądarki pokrywały się z numerami silnika Gecko. Z pewnych powodów User Agent zaprojektowano tak, aby skrypty rozpoznawały go jako kolejną wersję przeglądarki Netscape Navigator. Jeśli się nie mylę, umieszczono dodatkowo informacje, że to silnik Gecko w danej wersji.
Kiedy pałeczka testowej przeglądarki dla silnika Gecko wpadła w łapki Firefoksa, trzeba było zaprojektować dla niej trochę inny User Agent. Dokładniej poszerzyć wersję Mozilli Suite o kilka dodatkowych wyrazów i cyferek, aby można było ustalić, że to Firefox w danej wersji. Podobnie wcześniej postąpiono w przypadku Netscape’a.
I zrobiło się trochę tłoczono. Mamy w tym jego User Agent kanoniczny fragment, że to Netscape Navigator 5, dokładniej, że to przeglądarka oparta na silniku Mozilla 5. Potem jest wrzucony niedbale fragment, że to przeglądarka oparta o silnik Gecko w danej wersji. Właśnie ten niedbale wrzucny fragment ma pewne znaczenie dla webmasterów. Dla formalności wrzucono jeszcze fragment, że to Firefox w danej wersji.
Niestety niedoinformowani znowu popisali się swoim niedoinformowaniem i sprawdzają ten ostatni fragment, którego techniczne znaczenie jest znikome. W efekcie wszystkie przeglądarki, które są oparte o silnik Gecko, muszą udawać, że są Firefoksem. I dla formalności dorzucać jeszcze swoją nazwę... Inaczej strony niedoinformowanych będą źle działały. Przeglądarki oparte na mniej popularnych silnikach mają jeszcze więcej potrzebnych śmieci w swoich ciągach identyfikujących.
Najrozsądniejszym rozwiązaniem w tej chorej materii wydaje się User Agent, który dostosowuje się do poziomu niedoinformowania autora danej strony. Dla stron doinformowanych ludzi wysyła poprawną i estetyczną wersję pozbawioną śmieci. Do stron niedoinformowanych wysyła zaś długie potworki. Zaletą tej metody jest to, że w razie potrzeby będzie można przedstawić się dokładnie tak, jak inna przeglądarka, ale dla większości systemów statystyk przedstawiać się własną nazwą. Zastosowano to w najnowszej Operze, pozostałe przeglądarki też powinny pójść tym śladem.
Było by bardzo miło i estetycznie, gdyby Mozilla Fundation pozbyła się z User Agent Firefoksa początkowej wstawki Mozilla z numerem 5 i zastąpiła Gecko z odpowiednim numerem. To samo tyczy się też Microsoftu. Byłoby trochę problemów z skryptami niedoinformowanych, ale umieszczenie istotnej informacji na początku byłoby logicznym rozwiązaniem. Bo teraz trzeba się grzebać wśród śmieci, a śmieci łatwo pomylić.
By zbraniecki, # 3. December 2006, 12:55:14
By Big_Z, # 20. December 2006, 02:01:09