小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

 shuer的藏寶庫 2017-03-30
每日頭條
1天前
2017-03-29
[ 文章導(dǎo)讀 ] 不管是前端還是后臺(tái)開發(fā),在找工作的時(shí)候,只要涉及到網(wǎng)絡(luò)方面的知識(shí),必然會(huì)問到這樣一個(gè)問題:當(dāng)我在瀏覽器的地址欄里輸入一個(gè)完整的URL,在按下回車直至頁面加載完成,整個(gè)過程發(fā)生了什么?這是一道考察綜合能力的面試題,今天我們就一起來總結(jié)下該如 ...

不管是前端還是后臺(tái)開發(fā),在找工作的時(shí)候,只要涉及到網(wǎng)絡(luò)方面的知識(shí),必然會(huì)問到這樣一個(gè)問題:當(dāng)我在瀏覽器的地址欄里輸入一個(gè)完整的URL,在按下回車直至頁面加載完成,整個(gè)過程發(fā)生了什么?這是一道考察綜合能力的面試題,今天我們就一起來總結(jié)下該如何回答這個(gè)問題,當(dāng)然我只是在這里講解主要的知識(shí)點(diǎn),涉及到的細(xì)節(jié)還需要大家再去找資料看。

整體過程

在這整個(gè)過程中,大致可以分為以下幾個(gè)過程

  • DNS域名解析

  • TCP連接

  • HTTP請(qǐng)求

  • 處理請(qǐng)求返回HTTP響應(yīng)

  • 頁面渲染

  • 關(guān)閉連接

DNS域名解析

首先我們應(yīng)該要知道的是,在地址欄輸入的域名并不是最后資源所在的真實(shí)位置,域名只是與IP地址的一個(gè)映射。網(wǎng)絡(luò)服務(wù)器的IP地址那么多,我們不可能去記一串串的數(shù)字,因此域名就產(chǎn)生了,域名解析的過程實(shí)際是將域名還原為IP地址的過程。

DNS域名解析有兩種方法,分別是迭代查詢和遞歸查詢

  • 迭代查詢

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

迭代查詢

  • 遞歸查詢

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

遞歸查詢

TCP連接

在通過第一步的DNS域名解析后,獲取到了服務(wù)器的IP地址,在獲取到IP地址后,便會(huì)開始建立一次連接,這是由TCP協(xié)議完成的,主要通過三次握手進(jìn)行連接。

三次握手的示意圖如下:

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

三次握手

HTTP請(qǐng)求

在確認(rèn)與服務(wù)器建立連接后,便會(huì)發(fā)送一個(gè)HTTP請(qǐng)求,HTTP請(qǐng)求的報(bào)文主要包括請(qǐng)求行,請(qǐng)求頭,請(qǐng)求正文。

請(qǐng)求行的內(nèi)容一般類似于:GET index.html HTTP/1.1

請(qǐng)求頭的內(nèi)容一般如下,可以通過瀏覽器開發(fā)者工具查看

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

請(qǐng)求頭

請(qǐng)求體一般包含請(qǐng)求傳遞的參數(shù)

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

請(qǐng)求體

處理HTTP請(qǐng)求并響應(yīng)

服務(wù)器在收到瀏覽器發(fā)送的HTTP請(qǐng)求之后,會(huì)將收到的HTTP報(bào)文封裝成HTTP的Request對(duì)象,并通過不同的Web服務(wù)器進(jìn)行處理,處理完的結(jié)果以HTTP的Response對(duì)象返回,主要包括狀態(tài)碼,響應(yīng)頭,響應(yīng)報(bào)文三個(gè)部分。

狀態(tài)碼主要包括以下部分

  • 1xx:指示信息–表示請(qǐng)求已接收,繼續(xù)處理。

  • 2xx:成功–表示請(qǐng)求已被成功接收、理解、接受。

  • 3xx:重定向–要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作。

  • 4xx:客戶端錯(cuò)誤–請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)。

  • 5xx:服務(wù)器端錯(cuò)誤–服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求。

響應(yīng)頭主要由Cache-Control、 Connection、Date、Pragma等組成

響應(yīng)體為服務(wù)器返回給瀏覽器的信息,主要由HTML,css,js,圖片文件組成

頁面渲染

頁面DOM樹的渲染是個(gè)復(fù)雜的過程,需要深入了解DOM原理,這里簡(jiǎn)要描述一下,主要過程如下

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

DOM樹渲染

關(guān)閉連接

在頁面元素傳輸完成后,會(huì)選擇關(guān)閉連接,此時(shí)用到的是TCP四次揮手,示意圖如下

經(jīng)典面試題:從地址欄輸入U(xiǎn)RL到頁面加載完成發(fā)生了什么?

TCP四次揮手

總結(jié)

至此一個(gè)完成的URL從輸入到加載的過程就分析完了,今天的內(nèi)容有沒有一點(diǎn)收獲呢?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多