地址欄輸入一個(gè)地址發(fā)生了什么

http://www.360doc.com/content/17/0330/14/11277047_641420560.shtml

不管是前端還是后臺(tái)開(kāi)發(fā),在找工作的時(shí)候姿锭,只要涉及到網(wǎng)絡(luò)方面的知識(shí),必然會(huì)問(wèn)到這樣一個(gè)問(wèn)題:當(dāng)我在瀏覽器的地址欄里輸入一個(gè)完整的URL淮野,在按下回車(chē)直至頁(yè)面加載完成涡扼,整個(gè)過(guò)程發(fā)生了什么?這是一道考察綜合能力的面試題屹电,今天我們就一起來(lái)總結(jié)下該如 ...

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

整體過(guò)程

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

  • DNS域名解析

  • TCP連接

  • HTTP請(qǐng)求

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

  • 頁(yè)面渲染

  • 關(guān)閉連接

DNS域名解析

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

DNS域名解析有兩種方法骗炉,分別是迭代查詢(xún)和遞歸查詢(xún)

  • 迭代查詢(xún)

[圖片上傳失敗...(image-3634a0-1512913615612)]

迭代查詢(xún)

  • 遞歸查詢(xún)

[圖片上傳中...(image-e7d1b6-1512913615612-5)]

遞歸查詢(xún)

TCP連接

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

三次握手的示意圖如下:

[圖片上傳中...(image-d14f20-1512913615612-4)]

三次握手

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)容一般類(lèi)似于:GET index.html HTTP/1.1

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

[圖片上傳中...(image-d06b56-1512913615612-3)]

請(qǐng)求頭

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

[圖片上傳失敗...(image-4182f2-1512913615612)]

請(qǐng)求體

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

服務(wù)器在收到瀏覽器發(fā)送的HTTP請(qǐng)求之后洪碳,會(huì)將收到的HTTP報(bào)文封裝成HTTP的Request對(duì)象,并通過(guò)不同的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:客戶(hù)端錯(cuò)誤–請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(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溺健,圖片文件組成

頁(yè)面渲染

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

[圖片上傳失敗...(image-b14fb3-1512913615611)]

DOM樹(shù)渲染

關(guān)閉連接

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

[圖片上傳失敗...(image-4d6102-1512913615610)]

TCP四次揮手

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吱晒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沦童,更是在濱河造成了極大的恐慌仑濒,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偷遗,死亡現(xiàn)場(chǎng)離奇詭異墩瞳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)氏豌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)喉酌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人泵喘,你說(shuō)我怎么就攤上這事泪电。” “怎么了纪铺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵相速,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鲜锚,道長(zhǎng)突诬,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任烹棉,我火速辦了婚禮攒霹,結(jié)果婚禮上怯疤,老公的妹妹穿的比我還像新娘浆洗。我一直安慰自己,他們只是感情好集峦,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布伏社。 她就那樣靜靜地躺著,像睡著了一般塔淤。 火紅的嫁衣襯著肌膚如雪摘昌。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,736評(píng)論 1 312
  • 那天高蜂,我揣著相機(jī)與錄音聪黎,去河邊找鬼。 笑死备恤,一個(gè)胖子當(dāng)著我的面吹牛稿饰,可吹牛的內(nèi)容都是我干的锦秒。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼喉镰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼旅择!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起侣姆,我...
    開(kāi)封第一講書(shū)人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤生真,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后捺宗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柱蟀,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年蚜厉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了产弹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弯囊,死狀恐怖痰哨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情匾嘱,我是刑警寧澤斤斧,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站霎烙,受9級(jí)特大地震影響撬讽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悬垃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一游昼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尝蠕,春花似錦烘豌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至靖榕,卻和暖如春标锄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茁计。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工料皇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓践剂,卻偏偏與公主長(zhǎng)得像毒返,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舷手,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容