Aby skrócić czas wczytywania stron, Chrome może wstępnie pobierać linki ze strony wyników wyszukiwania Google i innych witryn uczestniczących w programie, zanim użytkownik je kliknie.
Ta funkcja korzysta z CONNECT
serwera proxy, który ukrywa adres IP użytkownika przed stroną internetową, która ma zostać wstępnie pobrana. W rezultacie nawiązywanie połączenia jest niewidoczne dla administratorów sieci.
Jednocześnie zdajemy sobie sprawę, że administratorzy sieci mogą potrzebować filtrowania treści. Dlatego opracowaliśmy mechanizm, dzięki któremu administratorzy sieci mogą nadal to robić, jeśli użytkownik kliknie wstępnie pobrany link.
Filtrowanie treści
Aby chronić prywatność użytkownika, Chrome nie będzie wykonywać żadnych widocznych wyszukiwań DNS podczas pobierania linków z wyprzedzeniem. Jeśli użytkownik przejdzie do wstępnie pobranego linku, zasoby strony zostaną pobrane z pamięci podręcznej bez widocznego wyszukiwania DNS. Jednym z efektów ubocznych jest to, że filtrowanie treści może nie działać zgodnie z oczekiwaniami, gdy użytkownik przejdzie do wstępnie pobranego linku.
Aby umożliwić administratorom sieci filtrowanie treści w przypadku tych pobranych z wyprzedzeniem nawigacji, opracowaliśmy mechanizm sygnalizacyjny, który nakazuje Chrome wysyłanie zapytania DNS, gdy użytkownik kliknie pobrany z wyprzedzeniem link. Wyszukiwanie DNS nastąpi w tym samym czasie i w ten sam sposób, jakby wstępne pobieranie nie miało miejsca, co da administratorom taką samą możliwość filtrowania treści. Chrome wstrzyma wczytywanie wstępnie pobranych zasobów z pamięci podręcznej, dopóki drugie wyszukiwanie DNS nie zakończy się powodzeniem. Jeśli się nie powiedzie, Chrome nie użyje wstępnie pobranych zasobów i zamiast tego wczyta stronę w zwykły sposób. Pamiętaj, że wiąże się to z pogorszeniem wydajności dla użytkownika, ponieważ Chrome musi poczekać na zakończenie wyszukiwania DNS.
Szczegóły mechanizmu sygnalizacji
W przypadku użytkowników, którzy nie wyłączyli wstępnego wczytywania stron, Chrome asynchronicznie wysyła zapytanie DNS dotyczące dns-tunnel-check.googlezip.net
podczas uruchamiania lub zmiany interfejsu sieciowego.
Oto możliwe wyniki sprawdzania dns-tunnel-check.googlezip.net
:
- Jeśli odpowiedź to
NXDOMAIN
lubSERVFAIL
albo jeśli zwracany jest kod odpowiedziNOERROR
, ale nie zawiera on rekordówA
aniAAAA
, Chrome uzna, że administratorzy sieci potrzebują wglądu w nawigację do wstępnie pobranych stron (patrz Tryb wstępnego sprawdzania). - Jeśli odpowiedź ma inną wartość, Chrome bezpośrednio użyje pobranych z wyprzedzeniem zasobów i nie będzie wykonywać żadnych dodatkowych wyszukiwań DNS, gdy użytkownik przejdzie na pobraną z wyprzedzeniem stronę.
Wynik tego sprawdzenia będzie obowiązywać do ponownego uruchomienia Chrome lub do zmiany interfejsu sieciowego, co spowoduje nowe wyszukiwanie DNS dla dns-tunnel-check.googlezip.net
i może dać inny wynik.
Tryb przed lotem
W tym trybie przed przejściem do strony pobranej wstępnie za pomocą prywatnego serwera proxy do wstępnego pobierania Chrome wykona wyszukiwanie DNS odpowiedniej domeny i poczeka na odpowiedź:
- Jeśli odpowiedź zawiera niepusty zbiór adresów IP, Chrome przejdzie do nawigacji, używając wstępnie pobranych zasobów.
- Jeśli odpowiedź to
REFUSED
(preferowana) lubNXDOMAIN
, Chrome nie będzie kontynuować nawigacji i zamiast tego wyświetli odpowiednią stronę błędu DNS.