Chrome會緩存DNS記錄,並且在主機文件成功連接到我的網站(禁止重新啓動)後往往會忽略對主機文件的更改。啓用DNS預取功能後,它更加明顯。防止Chrome緩存網站的DNS記錄
是否有任何頁面標題會指示Chrome不緩存網站的DNS?像Cache-Control
或類似307 Temporary Redirect
的響應狀態?
Chrome會緩存DNS記錄,並且在主機文件成功連接到我的網站(禁止重新啓動)後往往會忽略對主機文件的更改。啓用DNS預取功能後,它更加明顯。防止Chrome緩存網站的DNS記錄
是否有任何頁面標題會指示Chrome不緩存網站的DNS?像Cache-Control
或類似307 Temporary Redirect
的響應狀態?
這可能是Google Chrome中的一個真正的bug。我創建了http://crbug.com/65570來跟蹤它,但請添加您可以想到的任何其他信息,以確保我們能夠正確理解您的問題。
這聽起來似乎除了關閉Chrome之外唯一的解決方法是拔掉網線然後重新插入。當Chrome看到這樣的事件時,它會丟棄它的套接字和dns緩存。當我們看到/ etc/hosts發生改變時,錯誤的正確解決方案可能也會這樣做。
如果您想知道錯誤何時解決,請轉至http://crbug.com/65570並單擊錯誤號旁邊的星號。而且,正如我所說的,請將任何其他信息添加到該錯誤中。
我沒有什麼真正需要添加的東西,除非因爲修改/ etc/hosts來達到我的開發環境,所以這真的會讓我失去Web開發。
是的,我經常將local.devdomain.com或整個devdomain.com映射到127.0.0.1,以測試特定於域的項目,並且Chrome並不總是接受這一點。 – 2011-01-11 17:14:06
我不確定這是否正是您正在尋找的內容,但是這也讓我很難切換開發環境,而且我偶然發現了這個內部的Chrome頁面,您可以通過單擊按鈕清除緩存: chrome:// net-internals /#dns
然後點擊清除主機緩存。這不是自動的,但嘿它是一些東西。
還要記住操作系統可能會做自己的緩存級別。 Linux不緩存DNS條目我認爲(至少對我來說清除緩存是足夠好的),但對於Windows或Mac,您可能還需要刷新操作系統級別的DNS緩存。從Windows的命令行運行ipconfig /flushdns
或從mac命令行運行sudo dscacheutil -flushcache
。
感謝您指向此頁面。實際上,我將主機名設置爲指向IPv6,因爲鍵入127.0.0.1更容易,但我沒有意識到chrome沒有啓用IPv6(本頁向我顯示)。在清除主機緩存並打開IPv6之後,立即工作得很好。 – 2013-05-28 22:50:13
奇怪的是,這不適合我。如果我更改我的主機文件並單擊要清除的按鈕,它仍會使用高速緩存的主機,即使表中沒有高速緩存的主機已在列表中列出。 – user37078 2014-01-29 21:29:32
感謝。我在某處讀到Chromium項目有一個強制DNS刷新的「Shift + F5」功能,但這仍然需要進入Chrome本身。 – 2010-12-06 10:37:13