當(dāng)在瀏覽器輸入一個(gè)網(wǎng)址后,實(shí)際會(huì)發(fā)生什么?

那么,輸入網(wǎng)址后,實(shí)際發(fā)生了什么呢?過程如下:

1、輸入網(wǎng)址。

2、瀏覽器查找域名的IP地址。

導(dǎo)航的第一步是通過訪問的域名找出其IP地址。DNS查找過程如下:

瀏覽器緩存 – 瀏覽器會(huì)緩存DNS記錄一段時(shí)間。 有趣的是,操作系統(tǒng)沒有告訴瀏覽器儲(chǔ)存DNS記錄的時(shí)間,這樣不同瀏覽器會(huì)儲(chǔ)存?zhèn)€自固定的一個(gè)時(shí)間(2分鐘到30分鐘不等)。

系統(tǒng)緩存 – 如果在瀏覽器緩存里沒有找到需要的記錄,瀏覽器會(huì)做一個(gè)系統(tǒng)調(diào)用(windows里是gethostbyname)。這樣便可獲得系統(tǒng)緩存中的記錄。

路由器緩存 – 接著,前面的查詢請(qǐng)求發(fā)向路由器,它一般會(huì)有自己的DNS緩存。

ISP DNS 緩存 – 接下來要check的就是ISP緩存DNS的服務(wù)器。在這一般都能找到相應(yīng)的緩存記錄。

3. 瀏覽器給web服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求

4. 網(wǎng)站服務(wù)的永久重定向響應(yīng)

服務(wù)器給瀏覽器響應(yīng)一個(gè)301永久重定向響應(yīng),為什么服務(wù)器一定要重定向而不是直接發(fā)會(huì)用戶想看的網(wǎng)頁內(nèi)容呢?其中一個(gè)原因跟搜索引擎排名有關(guān)。如果一個(gè)頁面有兩個(gè)地址,就像http://www.igoro.com/

http://igoro.com/,搜索引擎會(huì)認(rèn)為它們是兩個(gè)網(wǎng)站,結(jié)果造成每一個(gè)的搜索鏈接都減少從而降低排名。而搜索引擎知道301永久重定向是什么意思,這樣就會(huì)把訪問帶www的和不帶www的地址歸到同一個(gè)網(wǎng)站排名下。還有一個(gè)是用不同的地址會(huì)造成緩存友好性變差。當(dāng)一個(gè)頁面有好幾個(gè)名字時(shí),它可能會(huì)在緩存里出現(xiàn)好幾次。

5. 瀏覽器跟蹤重定向地址

? 現(xiàn)在,瀏覽器知道了要訪問的正確地址,所以它會(huì)發(fā)送另一個(gè)獲取請(qǐng)求。請(qǐng)求頭部一般包括:

? Accept

? Accept-language

? Accept-Encoding

? Connection

? User-Agent

? Cookie

? Host

6. 服務(wù)器“處理”請(qǐng)求

服務(wù)器接收到獲取請(qǐng)求,然后處理并返回一個(gè)響應(yīng)。

7. 服務(wù)器發(fā)回一個(gè)HTML響應(yīng)

8. 瀏覽器開始顯示HTML

9. 瀏覽器發(fā)送請(qǐng)求,以獲取嵌入在HTML中的對(duì)象

在瀏覽器顯示HTML時(shí),它會(huì)注意到需要獲取其他地址內(nèi)容的標(biāo)簽。這時(shí),瀏覽器會(huì)發(fā)送一個(gè)獲取請(qǐng)求來重新獲得這些文件。這些文件就包括CSS/JS/圖片等資源,這些資源的地址都要經(jīng)歷一個(gè)和HTML讀取類似的過程。所以瀏覽器會(huì)在DNS中查找這些域名,發(fā)送請(qǐng)求,重定向等等…

10. 瀏覽器發(fā)送異步(AJAX)請(qǐng)求

當(dāng)在瀏覽器輸入一個(gè)網(wǎng)址后,實(shí)際會(huì)發(fā)生什么?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容