r   e   k   l   a   m   a
r   e   k   l   a   m   a

Firefox celowo spowalnia śledzące nas skrypty, aby szybciej załadować strony

Strona główna AktualnościOPROGRAMOWANIE

Ogromny wzrost szybkości ładowania stron internetowych przez Firefoksa 57 nie wziął się tylko z nowego silnika Quantum. Jeden z programistów Mozilli ujawnił właśnie, że w pewnym sensie przeglądarka ta łamie zasadę neutralności sieci. Traktuje pewne zasoby internetowe jako gorsze od innych i opóźnia ich ładowanie. Użytkownicy nie powinni jednak z tego powodu narzekać – te gorsze zasoby to wszelkiej maści skrypty śledzące i analizujące naszą aktywność w Internecie.

Przy okazji wydania nowego Firefoksa, Mozilla coś tam wspomniała o zmianach w planiście żądań sieciowych, ale szczegółów nie zdradziła. Teraz programista Honza Bambas na łamach swojego bloga wyjaśnia, co właściwie zrobiono. Doszło do integracji tego planisty z bazą danych wykorzystywaną do ochrony użytkowników przed śledzeniem. Korzystając z umieszczonych w niej wpisów, planista automatycznie opóźnia ładowanie wszelkich skryptów śledzących w czasie gdy strona się pobiera i rysuje. W ten sposób udaje się zaoszczędzić zasoby komputera i sieci – to co chcemy zobaczyć w oknie przeglądarki pojawi się po prostu szybciej.

A skryptów takich na nowoczesnych stronach może być co niemiara. Analityka Google’a, Yandexa, Hotjara – to wszystko wydłuża czas ładowania strony o cenne sekundy, służąc wyłącznie do śledzenia użytkowników optymalizacji stron internetowych. Firefox 57 by tego uniknąć, opóźnia załadowanie ładowanych skryptów śledzących na czas ładowania innych zasobów strony, maksymalnie do sześciu sekund. W ten sposób traktowane są też obrazki śledzące i obiekty XHR, oraz oczywiście wszelkie żądania samego skryptu śledzącego. Opóźnianie nie zawsze jednak jest włączane, lecz tylko wtedy, gdy skrypty zostają dynamicznie dodane do strony, albo przez asynchroniczne wywołanie.

r   e   k   l   a   m   a

Taka dyskryminacja (którą Bambas określił słowem „tailing” – podążanie za kimś na jego ogonie) jest całkowicie zgodna ze standardami HTML, ale może oznaczać pewne problemy w rysowaniu źle napisanych stron internetowych, jak również tych, w których na rysowanie wpływ mają skrypty. To co miało przyspieszać ładowanie stron, potrafi więc wyraźnie je spowolnić. Przykładem może być fragment kodu Google’a do ukrywania stron zanim załadowany zostanie kontener z główną zawartością. Użycie go w Firefoksie może sprawić, że przez kilka sekund użytkownik w ogóle niczego nie zobaczy.

Najbardziej w tym wszystkim zaskakujące jest to, że sama branża reklamowa wcale nie jest zła z tego powodu. Na łamach Hacker News toczy się ciekawa dyskusja w tej sprawie, otworzona przez inżyniera z firmy Heap Analytics. Stwierdził on, że to co Mozilla zrobiła, wręcz pomoże branży reklamowej. Gdy bowiem twórcy stron wrzucają pełno skryptów śledzących, to zaczynają one ze sobą konkurować o zasoby, jak również spowalniają samo narysowanie strony. Sensowne jest więc nadanie priorytetu temu, co służy rysowaniu. Firmy analityczne dostają to czego chcą – możliwość śledzenia użytkownika, użytkownicy dostają to, czego chcą – szybko ładujące się strony.

Zaawansowani użytkownicy mogą w Firefoksie wpłynąć na zachowanie planisty i opóźnianie ładowania skryptów. W panelu about:config służą do tego cztery parametry: network.http.tailing.delay-quantum-after-domcontentloaded oraz network.http.tailing.delay-quantum określają minimalne opóźnienia (w milisekundach), parametr network.http.tailing.delay-max określa maksymalne opóźnienie, zaś network.http.tailing.enabled pozwala włączyć lub wyłączyć ten efekt.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.