Jak wyczyścić/spłukać pamięć podręczną DNS w Google Chrome?
Jak zapewne wiesz Google Chrome ma swoją własną wewnętrzną pamięć podręczną DNS. Czy istnieje sposób, aby wyczyścić ją bez konieczności czekania na upływ czasu lub zamykania przeglądarki?
Jak zapewne wiesz Google Chrome ma swoją własną wewnętrzną pamięć podręczną DNS. Czy istnieje sposób, aby wyczyścić ją bez konieczności czekania na upływ czasu lub zamykania przeglądarki?
Czasami trzeba spłukać baseny gniazdowe po przepłukaniu DNS:
chrome://net-internals/#sockets
“Przejdź do chrome://net-internals/#dns” nie działa w przeglądarce Google Chrome, przynajmniej w moim systemie. Wygląda na to, że to rozwiązanie może i działa w systemie operacyjnym Google Chrome, ale ogólnie rzecz biorąc, nie działa w przeglądarce Google Chrome. Dla mnie link przekierowuje tutaj: The Chromium Projects
Wygląda na to, że “Opróżnij pamięć podręczną” jest lepszym rozwiązaniem. Zauważ również, że moja przeglądarka mówi “Preferencje” zamiast “Opcje”
Przez http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en
“Przejdź do narzędzi -> opcje -> Pod maską -> Wyczyść dane przeglądania i zaznacz ‘opróżnij pamięć podręczną’ oraz kliknij na wyczyścić dane przeglądania. Tak, wiem, to nie jest pamięć podręczna DNS, spodziewałbym się, że zostanie wyczyszczona, ale hej, tak mi się wydaje.
Kliknięcie “Clear Host Cache” w chrome://net-internals/#dns
powinno zrobić to dla Google Chrome, ale są inne pamięci podręczne DNS do rozważenia na komputerze.
Windows:
ipconfig /flushdns
OS X pre-10.7 (przed Lion):
sudo dscacheutil -flushcache
OS X 10.7-10. 9 (Lew, Lew Górski, Mavericks):
sudo killall -HUP mDNSResponder
OS X 10.10+ (Yosemite):
sudo discoveryutil mdnsflushcache
OS X 10.11, 10.12+ (El Capitan, Sierra):
sudo killall -HUP mDNSResponder
Twój router może również buforować DNS (zrestartuj go lub przeczytaj instrukcję). Ostatecznym testem jest użycie dig , ale to używa hosta DNS twojej sieci, a nie autorytatywnego serwera domyślnie:
dig superuser.com
Aby zapytać prosto ze źródła, spróbuj czegoś w stylu:
dig superuser.com @ns1.serverfault.com
W OS X 10.9.1 w/Chrome 32 musiałem zarówno wyczyścić pamięć podręczną hosta jak i przepłukać baseny gniazd, aby Chrome odświeżył pamięć podręczną DNS:
To zadziałało na mnie: Opróżnij i wyczyść pamięć podręczną dysku
W Chrome, kliknij na ikonę klucza, a następnie Options. Przejdź do zakładki Under the Hood. Kliknij na przycisk Wyczyść dane przeglądania w sekcji Privacy. Zaznacz pole wyboru “Opróżnij pamięć podręczną”, a następnie kliknij na przycisk Wyczyść dane przeglądania.
Zadziałało to natychmiast - nie musiałem nawet zamykać przeglądarki.
O ile mi wiadomo, w ostatnich wersjach Chrome (jestem na 26.0.1410.43) nie ma (niezawodnego) sposobu, przynajmniej nie na Macu. Żadna z sugestii na tej stronie nie zadziałała.
Moja sytuacja jest taka, że dodałem wpis do pliku hosty , ale Chrome nadal wybiera adres IP zwracany przez DNS. Firefox działa poprawnie.
W rzeczywistości strona chrome://net-internals/#dns
po prostu kłamie o adresie IP dla mnie. Pokazuje on adres IP z wpisu hosta, ale to wyraźnie nie jest tam, gdzie w rzeczywistości jest uzyskanie witryny z.
Wiem, że to stare pytanie, ale zirytowałem się tymi samymi skargami co inni: nawet po wyczyszczeniu pamięci podręcznej może to potrwać minutę lub dwie, zanim nowe zmiany DNS zaczną działać.
Istnieje kilka sposobów, aby to obejść. Po wyczyszczeniu pamięci podręcznej DNS przez chrome://net-internals/#dns (lub użycie rozszerzenia, które daje ten sam rezultat):
Otwórz okno incognito, a nowe mapowania DNS dla domeny zaczną działać natychmiast.
Wyczyść pamięć podręczną przeglądarki. Jest to uciążliwe, jeśli używasz przeglądarki do regularnego przeglądania. Możesz uruchomić osobną instancję przeglądarki jako inny użytkownik i wyczyszczenie pamięci podręcznej w tym koncie nie będzie kolidowało z twoimi regularnymi przeglądaniami w pamięci podręcznej. Nie próbowałem tego, ale powinno zadziałać.
Naciśnij CTRL+F5. Musiałem trzymać wciśnięte CTRL+F5 przez około jedną sekundę, co po kolei kilka razy przeładowuje stronę. Jest to dziwne zachowanie, ale działa i jest równie skuteczne. To jest moje preferowane podejście.
Idealnie byłoby, gdyby był plugin, który może oczyścić DNS i cache (konkretnie tylko cache dokumentów, a nie ciasteczek), ale jeszcze nic takiego nie znalazłem.
UPDATE: W OSX-ie aplikacja Gas Mask jest doskonała do przełączania między plikami hostów i wraz z obejściem #2 jest dość efektywna.
Aby rozwiązać problem, Chrome nie może używać odpowiednich hostów po zmodyfikowaniu pliku hostów z powodu używania przez Chrome puli gniazd.
Chrome utrzymuje długie połączenia w puli połączeń, aby przyspieszyć. Kiedy Chrome stwierdzi, że żądanie może ponownie użyć połączenia w puli połączeń, nie przejdzie ponownie przez DNS, więc zawsze zauważamy, że Chrome nie odpowie na zmianę hosta od razu.
Chrome dostarczył interfejs do płukania puli połączeń w zakładce chrome://net-internals/#sockets, ale myślę, że to irytujące, że muszę najpierw przejść do zakładki i kliknąć tak mały przycisk z gładzikiem.
Stwierdziłem, że po kliknięciu przycisku flush socket pool, Chrome wykonuje dwie kluczowe metody JavaScript.
g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);
Więc enkapsuluję te dwie metody w skrypcie AppleScript, który może być skonwertowany do aplikacji OS X lub przepływu pracy Alfred, które oba mogą być wywołane łatwo.
Pełny proces:
Utworzona witryna w IIS (okna 8), ustawić nagłówek hosta.
Próba trafienia w gospodarza bez pliku hosta, zapewniając do korzystania z http://, więc nie tylko zrobić wyszukiwanie w google. Poprawnie nie udało się w chrome “Wersja 32.0.1700.76 m”
Dodaj hosta do pliku hosta jako 127.0.0.1, teraz może trafić go w chrome.
Usuń z pliku hosta i uruchomić ipconfig /flushdns, chrome nadal pokazuje witrynę!
Nie rób nic innego niż CTRL+F5 i teraz strona poprawnie nie działa w Chrome.
Z liczby różnych odpowiedzi tutaj zastanawiam się, czy wszyscy mamy nieco inne przypadki użycia.
Próbowałem spłukać pamięć podręczną DNS na wiele sposobów, ale nic mi nie wyszło. W końcu planowałem zmianę mojego wpisu DNS. Ta sztuczka sprawdzi się u wszystkich osób, które mają dostęp do Internetu przez szybkie łącze LAN.
Na łączu LAN, użytkownik zazwyczaj otrzymuje dwa adresy DNS. Jeden z nich jest podstawowy, a drugi drugorzędny lub alternatywny adres DNS. To, co zrobiłem, to zmieniłem tylko drugorzędny adres na główny i na odwrót. Zadziałało to dla mnie natychmiast.
Zachowałem alternatywny adres DNS jako adres podstawowy przez dwa dni. Problem rozwiązał się sam i później przywróciłem stary wpis DNS.
Dla mnie prywatne przeglądanie zrobiło tę sztuczkę (Nowe okno incognito/okno prywatne).
Spróbuj DNS Flusher dla Chrome. Zauważ, że aby go używać, wymaga on flagi linii poleceń, --enable-benchmarking
po uruchomieniu przeglądarki Chrome.
Przejdź do chrome://net-internals/#dns i naciśnij przycisk “Clear host cache”. jak już odpowiedziałeś Również możesz potrzebować polecenia dscacheutil -flushcache w systemie OS X, aby wyczyścić systemową pamięć podręczną DNS. ipconfig /flushdns w wierszu poleceń windows
W przypadku Mac OS X żadne z wyżej wymienionych podejść nie zadziałało dla mnie. Podejście to było następujące:
Kliknij w menu Chrome > preferencje > kliknij link show advanced settings
na dole strony > kliknij przycisk clear browsing data
w sekcji privacy
> tylko wybierz cached images and files
i download history
(może ten późniejszy nie jest wymagany, ale też nie szkodzi) > kliknij przycisk clear browsing data
.
Dla użytkowników iPhone'ów techniki te działają równie skutecznie. Musiałem zrobić kilka testów strony internetowej, i chciałem nadpisać normalny serwer DNS i używać własnego serwera DNS z wpisami DNS, które nie są jeszcze publiczne.
I nadpisać wpis DNS w moim ustawieniu wifi na moim iPhone 6 Plus do mojego własnego serwera DNS. To było wystarczająco dobre dla Safari i Perfect Browser. Ale Chrome zdawał się to ignorować i miał swój własny zestaw wpisów DNS. Nie mogłem się dowiedzieć skąd się wzięły.
Zrobiłem to, co opisali powyżej
i musiałem również użyć zakładki InCognito Tab, jak wspomniano powyżej.
Tylko w kilku przypadkach Chrome użył mojego własnego wpisu DNS.