DNS域名解析步驟:windows
- 瀏覽器會先查找本身的緩存看看有沒有對應域名的IP,緩存大小和時間都有限制
- 當瀏覽器沒有對應的IP,再找系統的緩存,系統的緩存能夠經過對應文件設置,如windows系統經過C:\Windows\System32\drivers\etc\hosts文件設置
- 當系統緩存也沒有,會想網絡配置中的DNS服務器發送請求,這個DNS服務器通常爲LDNS(本地DNS)Server,LDNS Server一般是爲你介入互聯網的應用提供商,即電信或者聯通,即便SPA;LNDS Server通常會緩存域名解析結果,緩存時間爲域名的失效時間控制,大約80%的域名解析到這就結束了
- 若是LDNS Server也沒有結果,將直接到Root Server域名服務器請求解析
- Root Server放回給LDNS Serber一個所查詢的主域名服務器(gTLD Server)地址。gTLD是國際頂級域名服務器,如.com、.cn、.org等,全球只有13臺左右
- LDNS Server再向gTLD Server發送請求
- gTLD Server返回域名對應的Name Server地址,這個Name Server一般就是你註冊的DNS Server,如你在某個域名服務商申請的域名,那麼這個域名解析任務就有這個域名提供商的服務器來完成
- Name Server查詢返回IP以及TTL(Time to live)
- LDNS Server緩存映射,緩存時間有TTL控制
- 將解析結果返回給用,用戶根據TTL緩存在系統緩存中

*Name Server可能有多級,因此7,8可能重複幾回;解析過程可能有GTM負載均衡,也可能影響域名解析瀏覽器
Windows和Linux下均可以用nslookup查看域名解析結果,Linux下還能夠用dig查詢域名解析緩存
*CentOS使用nslookup和dig須要yum install bind-utils, dig 域名 +track能夠查看從根服務的詳細解析服務器
*windows下能夠使用ipconfig/flushdns命令來刷新dns緩存,網絡