當我們在瀏覽器的位址列輸入乙個位址鏈結時,其實發生了很多事情。其中最初的一步就是目標主機位址的解析。這個過程是比較複雜的,下面主要講解網域名稱解析的主要過程。例如,我們在位址列輸入www.baidu.com,那麼在解析這個網域名稱的過程中主要發生了如下的動作:
瀏覽器會檢查快取中有沒有這個網域名稱對應的解析過的ip位址,如果快取中有,這個解析過程就將結束。瀏覽器對網域名稱的快取是有時間限制,一般情況下是幾十秒,不同的瀏覽器ttl不同。谷歌瀏覽器可以通過這個位址來檢視網域名稱過期情況。chrome://net-internals/#dns
如果使用者的瀏覽器快取中沒有,瀏覽器會查詢作業系統快取中是否有這個網域名稱對應的dns解析結果。本機作業系統快取的dns網域名稱結果存在的時間長短不一致。可以通過ipconfig/displaydns來檢視本機操作對各個網域名稱的快取結果。
如果在本機作業系統快取中還是無法獲取到對應的dns,那麼就會讀取作業系統中的靜態dns即hosts檔案。檔案的存放位址如下:
c:\windows\system32\drivers\etc\hosts
如果在hosts檔案中還是無法找到對應的dns,那麼就會到isp中的dns伺服器中取查詢。這個isp就是你連線網路的**商,如電信、聯通。至此,絕大多數的dns都會在這裡被解析到。isp中的dns也有快取,我們可以通過nslookup -d www.zhihu.com來檢視。
如果在isp的dns伺服器中還是無法找到,就會到國際頂級網域名稱伺服器gtld,如.com、.cn、.org等。
找到對應dns的對應關係之後會返回乙個ttl值和ip,isp的dns伺服器就會根據這個ttl值來進行快取,並繼續返回給客戶端,本地作業系統得到這個值之後也會進行快取。
至此,乙個完整的網域名稱解析過程就完了。
在我們開發web專案的過程中時常會碰到這樣的問題:修改了host檔案之後,在瀏覽輸入位址時總訪問不到想要的結果。這裡如果你對dns網域名稱解析的過程有所了解的話應該會明白,那就是當你前一步訪問這個網域名稱時已經在瀏覽器和本地作業系統中存在了該網域名稱的快取。此時的做法有兩個:
1.清除瀏覽器快取或者等待1分鐘瀏覽器網域名稱快取自動過期。
2.清楚作業系統快取。ipconfig/flushdns
DNS網域名稱解析
dns是動態網域名稱系統的英文簡稱,是用來把我們輸入的網域名稱解析成ip位址的,如果沒有dns我們輸入的例如www.baidu.com這樣的網域名稱就無法被訪問。如果我們訪問 的時候要輸入ip位址的話,顯然既不方便也不容易記憶,所以我們用網域名稱來訪問 網域名稱雖然便於人們記憶,但網路中的計算機之間...
DNS網域名稱解析
一次請求過程大約經過三步 第一,dns網域名稱解析 第二,cdn獲取離使用者最近的節點 第三,建立http連線。今天和大家聊的是dns網域名稱解析。既然是dns網域名稱解析,那麼什麼是dns?dns domain name system,網域名稱系統 網際網路上作為網域名稱和ip位址相互對映的乙個分...
網域名稱解析 DNS
網際網路的網域名稱解析系統dns是乙個聯機分布式資料庫系統,並採用客戶 伺服器體系。tcp ip應用程式使用它來完成主機名稱和ip位址之間的對映。dns使大多數名字都在本地解析,僅少量解析需要在網際網路上通訊,因此系統效率很高。由於dns是分布式系統,即使單個計算機除了故障,也不會妨礙整個系統正常執...