Jaka jest różnica między „normalnym przeładowaniem”, „twardym przeładowaniem” oraz „pustą pamięcią podręczną i twardym przeładowaniem” w Chrome?
343
Niedawno odkryłem tę nową funkcję w Chrome:
Potrafię zrozumieć różnicę między opcją 1 a opcją 3, a ta opcja 2 jest prawdopodobnie czymś pośrednim, ale nigdzie nie mogę znaleźć dokładniejszych informacji.
Czy ktoś zna dokładne zachowanie każdej z 3 opcji?
Czy możesz wyjaśnić „tę funkcję”? W szczególności: jak uzyskać do niego dostęp? Próbowałem wszelkiego rodzaju kliknięć prawym przyciskiem myszy, kliknięć z wciśniętym klawiszem Control, ale nie udało mi się. Co to za wersja?
@JachachSauer Haha, to moja mała tajemnica ... Poważnie, jest bardzo dobrze ukryta: musisz nacisnąć przycisk odświeżania, nie zwalniając go natychmiast, gdy konsola programisty jest aktywna samuelrossille.com/home/blog-chrome-reload-options.html
To samo co naciskanie F5. Spowoduje to użycie bufora, ale ponowne sprawdzenie poprawności wszystkiego podczas ładowania strony, szukając odpowiedzi „304 niezmodyfikowane”. Jeśli przeglądarka może uniknąć ponownego pobierania buforowanych plików JavaScript, obrazów, plików tekstowych itp., Zrobi to.
Trudne przeładowanie
Nie używaj niczego w pamięci podręcznej podczas wysyłania żądania. (co jest równe SHIFT+ F5Nie ma potrzeby otwierania konsoli programisty) Wymuś, aby przeglądarka ponownie pobierała każdy plik JavaScript, obraz, plik tekstowy itp.
Opróżnij pamięć podręczną i uruchom ponownie ładowanie
Oczywiście, jeśli pamięć podręczna jest pusta, konieczne będzie jej ciężkie przeładowanie. To ponownie zmusi przeglądarkę do ponownego pobrania wszystkiego. Jeśli jednak strona pobierze jakiekolwiek pliki faktów do pobrania za pośrednictwem JavaScript, które nie były częścią ładowania strony, mogą one nadal korzystać z pamięci podręcznej, co pomaga w opróżnieniu pamięci podręcznej, ponieważ zapewnia, że nawet one nie będą używać buforowane pliki.
Uwaga : ta funkcja jest dostępna tylko wtedy, gdy narzędzia programistyczne są otwarte.
@Grinn: Właściwie teraz, kiedy o tym myślę, prawdopodobnie jest to cała pamięć podręczna. Istotą tej funkcji jest wyczyszczenie pobranych plików po fakcie, które nie są ograniczone tylko do jednej „strony”.
@Costa Możesz pobierać rzeczy, które początkowo nie są określone w DOM. Na przykład przez dodanie nowego znacznika <script> do DOM lub użycie RequireJS itp. Każda biblioteka oparta na AMD (taka jak RequireJS) zasadniczo ładuje swoje skrypty leniwie. W takim przypadku musisz opróżnić pamięć podręczną, aby upewnić się, że naprawdę wszystko będzie trudne do ponownego załadowania.
Należy zauważyć, że działa to tylko wtedy, gdy narzędzia programistyczne są otwarte (F12) Byłoby miło, gdyby było to ustawienie, które zawsze byłoby dostępne, niezależnie od tego, czy narzędzia programistyczne są otwarte, czy nie.
Działa to również w systemie Mac OS X. Otwórz narzędzia programistyczne, a następnie 1. przycisk ponownego załadowania: 1. kliknięcie dodatkowe (prawy przycisk myszy prawym przyciskiem myszy) lub 2. długie kliknięcie, czyli długie naciśnięcie, aby wyświetlić menu.
Oprócz tej odpowiedzi częste przeładowanie często powoduje odświeżenie serwerów proxy, sieci dostarczania treści i innych zdalnych pamięci podręcznych.
„Twarde przeładowanie często powoduje odświeżenie serwerów proxy, sieci dostarczania treści i innych zdalnych pamięci podręcznych”. → Czy możesz to zrobić? Czy masz jakieś wyjaśnienie, dlaczego tak się dzieje? Spodziewałbym się, że Hard Reload po prostu przeładuje całą lokalną pamięć podręczną i nie będzie miał dodatkowego wpływu na zdalne serwery.
Zrobiłem kilka testów ... Idąc do adresu URL lub używając Normal Odśwież wysłany 3 nagłówki związane Cache-: Cache-Control: max-age=0, If-Modified-Since, If-None-Match. Jednak w trakcie twardego przeładowywania (z opróżnieniem pamięci podręcznej lub bez niej) wysłano tylko 2 nagłówki związane z pamięcią podręczną: Cache-Control: no-cachei Pragma: no-cache. Tak, tak, przeglądarka rzeczywiście wysyła nagłówek z prośbą do serwerów o nową wersję; to od serwerów (w tym serwerów proxy) zależy zmiana zachowania na tej podstawie.
Poniższa metoda pozwala wyczyścić pamięć podręczną tylko dla problematycznego adresu URL. Pomogło mi to, gdy utknąłem z pamięcią podręczną przekierowania http na https.
Otwórz narzędzia programistyczne Chrome, w systemie Windows, którego używam F12
Zaznacz, Preserve logaby zapisać dziennik przed przekierowaniem
Kliknij prawym przyciskiem myszy przekierowany adres URL i Clear browser cache
Spowoduje to wyczyszczenie tylko problematycznej pamięci podręcznej bez wpływu na normalną pamięć podręczną.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.