從我們輸入一個網(wǎng)址(比如:www.baidu.com)時融柬,到底發(fā)生了什么断国?為什么從這個網(wǎng)址我們就能打開相應(yīng)的網(wǎng)頁晃琳?
以下是我從網(wǎng)上找到的一些資料辐真,結(jié)合自己的理解(對后端暫時不了解次兆,有些細節(jié)無法詳細解釋)栓辜,簡單的流程概括颅悉。
1.輸入網(wǎng)址(比如:www.baidu.com)
▲首先:我們輸入的網(wǎng)址成為URL(統(tǒng)一資源定位符)嘀粱,顧名思義嚣镜,它是用來定位資源的爬迟,什么資源?直到是我們要獲取的資源菊匿。
2.根據(jù)URL尋找IP地址付呕。
▲什么是IP地址计福?
IP地址就像我們每間房子的地址一樣,標(biāo)志著我們每臺聯(lián)網(wǎng)的計算機的位置徽职。
▲為什么要尋找IP地址象颖?
我們需要找到的資源都存儲在相應(yīng)的服務(wù)器里(比如百度的所有資源都存儲在百度的服務(wù)器里),我們要通過IP來找到這些資源姆钉,就像我們根據(jù)地址找到相應(yīng)的目的地是一個道理的说订。
▲而為什么要通過IP來找?不能直接通過URL定位呢潮瓶?
因為這些IP地址都是一堆數(shù)字陶冷,URL地址更有利于我們記憶(相信你記住www.taobao.com比記住192.157.2.5更方便)。
▲依據(jù)什么來找這個相應(yīng)的IP地址呢毯辅?
這就涉及到URL到IP地址的轉(zhuǎn)換流程埂伦,它不是單一的,根據(jù)便利性及速度思恐,會有一個優(yōu)先級別沾谜,就像我們買東西,都是找附近的超市看看有沒有胀莹,再去遠點的地方查找类早,最后實在沒有了,甚至可以找到廠家嗜逻。
▲查找流程有:
1涩僻、瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間
2、系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對應(yīng) IP栈顷。
3逆日、路由器緩存 – 一般路由器也會緩存域名信息。
4萄凤、ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存室抽。
5、如果都沒有找到靡努,則向根域名服務(wù)器查找域名對應(yīng) IP坪圾,根域名服務(wù)器把請求轉(zhuǎn)發(fā)到下一級,知道找到 IP