2018-04-12

從輸入U(xiǎn)RL 到頁(yè)面加載完成的過(guò)程都發(fā)生了什么?

摘要

本文只是初步介紹了瀏覽器從輸入U(xiǎn)RL到頁(yè)面加載完成所經(jīng)歷的階段犀农,內(nèi)容的詳細(xì)度有待完善摇天,望讀者包容。

整體過(guò)程

  1. 域名解析忘朝;
  2. 建立TCP連接灰署;
  3. 發(fā)起HTTP請(qǐng)求;
  4. 服務(wù)器處理請(qǐng)求并返回HTTP報(bào)文;
  5. 瀏覽器解析渲染頁(yè)面氓侧;

DNS解析

DNS解析過(guò)程是一個(gè)網(wǎng)址到IP地址的轉(zhuǎn)換過(guò)程脊另,通過(guò)域名解析查找到對(duì)應(yīng)的IP地址,查找過(guò)程是一個(gè)遞歸查詢(xún)的過(guò)程:自身的DNS緩存--> 操作系統(tǒng)自身的DNS緩存--> 讀取hosts文件--> 運(yùn)營(yíng)商dns --> 根域名服務(wù)器 --> 頂級(jí)域名服務(wù)器 --> 域名注冊(cè)商服務(wù)器约巷,直到最后本地域名服務(wù)器得到IP地址并把它緩存到本地偎痛。

建立TCP連接

拿到域名對(duì)應(yīng)的IP地址之后,瀏覽器會(huì)以一個(gè)隨機(jī)端口向服務(wù)器的WEB程序發(fā)起TCP的連接請(qǐng)求,這個(gè)連接請(qǐng)求到達(dá)服務(wù)器端后,進(jìn)入到網(wǎng)卡独郎,然后是進(jìn)入到內(nèi)核的TCP/IP協(xié)議棧踩麦,還有可能要經(jīng)過(guò)Netfilter防火墻的過(guò)濾,最終到達(dá)WEB程序氓癌,建立TCP/IP的連接谓谦。
HTTP協(xié)議是使用TCP作為其傳輸層協(xié)議的,HTTP報(bào)文是包裹在TCP報(bào)文中發(fā)送的贪婉,服務(wù)器端收到TCP報(bào)文時(shí)會(huì)解包提取出HTTP報(bào)文反粥,但是這個(gè)過(guò)程中存在一定的風(fēng)險(xiǎn),HTTP報(bào)文是明文疲迂,如果中間被截取的話(huà)會(huì)存在一些信息泄露的風(fēng)險(xiǎn)才顿,那么在進(jìn)入TCP報(bào)文之前對(duì)HTTP做一次加密就可以解決這個(gè)問(wèn)題了。

發(fā)起HTTP請(qǐng)求

建立TCP的連接之后尤蒿,瀏覽器發(fā)起了http的請(qǐng)求郑气,發(fā)送HTTP請(qǐng)求的過(guò)程就是構(gòu)建HTTP請(qǐng)求報(bào)文并通過(guò)TCP協(xié)議中發(fā)送到服務(wù)器指定端口的過(guò)程,HTTP請(qǐng)求報(bào)文是由三部分組成: 請(qǐng)求行, 請(qǐng)求報(bào)頭和請(qǐng)求正文腰池。
[圖片上傳失敗...(image-9eee91-1523792198700)]

服務(wù)器處理請(qǐng)求并返回HTTP報(bào)文

服務(wù)器在固定的端口接收到TCP報(bào)文之后尾组,會(huì)對(duì)TCP連接進(jìn)行處理:服務(wù)器解析請(qǐng)求,定位請(qǐng)求資源示弓,將資源副本寫(xiě)到 TCP 連接讳侨,由客戶(hù)端讀取。HTTP響應(yīng)報(bào)文也是由三部分組成: 狀態(tài)碼, 響應(yīng)報(bào)頭和響應(yīng)報(bào)文奏属。
[圖片上傳失敗...(image-7b2b4e-1523792198700)]
關(guān)于HTTP協(xié)議請(qǐng)參考:
https://kb.cnblogs.com/page/140611/
https://kb.cnblogs.com/page/55442/

瀏覽器解析渲染頁(yè)面

服務(wù)器對(duì)瀏覽器請(qǐng)求作出響應(yīng)跨跨,并把對(duì)應(yīng)的 html 文本發(fā)送給瀏覽器,瀏覽器是一個(gè)邊解析邊渲染的過(guò)程拍皮,首先瀏覽器解析HTML文件構(gòu)建DOM樹(shù)歹叮,然后解析CSS文件構(gòu)建渲染樹(shù),其中涉及到reflow(回流)和repain(重繪)铆帽,DOM節(jié)點(diǎn)中的各個(gè)元素都是以盒模型的形式存在咆耿,這些都需要瀏覽器去計(jì)算其位置和大小等,這個(gè)過(guò)程稱(chēng)為relow;當(dāng)盒模型的位置,大小以及其他屬性確定下來(lái)之后爹橱,瀏覽器便開(kāi)始繪制內(nèi)容萨螺,這個(gè)過(guò)程稱(chēng)為repain。
詳細(xì)的瀏覽器工作原理請(qǐng)看:https://kb.cnblogs.com/page/129756/
通過(guò)本文可以初步了解到在瀏覽器輸入U(xiǎn)RL到看到頁(yè)面所經(jīng)歷的過(guò)程,轉(zhuǎn)載時(shí)請(qǐng)注明原作者慰技。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末椭盏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吻商,更是在濱河造成了極大的恐慌掏颊,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艾帐,死亡現(xiàn)場(chǎng)離奇詭異乌叶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)柒爸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)准浴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人捎稚,你說(shuō)我怎么就攤上這事乐横。” “怎么了今野?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵葡公,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腥泥,道長(zhǎng)匾南,這世上最難降的妖魔是什么啃匿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任蛔外,我火速辦了婚禮,結(jié)果婚禮上溯乒,老公的妹妹穿的比我還像新娘夹厌。我一直安慰自己,他們只是感情好裆悄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布矛纹。 她就那樣靜靜地躺著,像睡著了一般光稼。 火紅的嫁衣襯著肌膚如雪或南。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天艾君,我揣著相機(jī)與錄音采够,去河邊找鬼。 笑死冰垄,一個(gè)胖子當(dāng)著我的面吹牛蹬癌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼逝薪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼隅要!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起董济,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤步清,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后虏肾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尼啡,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年询微,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崖瞭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撑毛,死狀恐怖书聚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情藻雌,我是刑警寧澤雌续,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站胯杭,受9級(jí)特大地震影響驯杜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜做个,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一鸽心、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧居暖,春花似錦顽频、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至省骂,卻和暖如春蟀淮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钞澳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工怠惶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人略贮。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓甚疟,卻偏偏與公主長(zhǎng)得像仗岖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子览妖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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