當在瀏覽器中輸入 URL 按下回車之后發(fā)生了什么?

解析URL: 首先會對 URL 進行解析劫瞳,分析所需要使用的傳輸協(xié)議和請求的資源的路徑倘潜。會對非法字符進行轉(zhuǎn)義
緩存判斷: 如果存在有效的緩存, 就直接使用緩存,否則向服務器發(fā)起新的請求志于。
DNS解析: 此步驟主要是獲取IP地址, 具體步驟:本地是否有緩存->否->本地 DNS 服務器是否有緩存->否->向根域名服務器發(fā)起請求->得到IP地址
獲取MAC地址: 獲取目標網(wǎng)址的 MAC 地址, 主要是需要判斷目標地址與當前機器是否在同一個子網(wǎng), 不在就需要網(wǎng)關(guān)轉(zhuǎn)發(fā)涮因。
TCP三次握手: 建立 TCP 連接。
HTTPS握手: 如果使用的是 HTTPS 協(xié)議恨憎,在通信前還存在 TLS 的一個四次握手的過程蕊退。首先由客戶端向服務器端發(fā)送使用的協(xié)議的版本號郊楣、一個隨機數(shù)和可以使用的加密方法。服務器端收到后瓤荔,確認加密的方法净蚤,也向客戶端發(fā)送一個隨機數(shù)和自己的數(shù)字證書∈湎酰客戶端收到后今瀑,首先檢查數(shù)字證書是否有效,如果有效点把,則再生成一個隨機數(shù)橘荠,并使用證書中的公鑰對隨機數(shù)加密,然后發(fā)送給服務器端郎逃,并且還會提供一個前面所有內(nèi)容的 hash 值供服務器端檢驗哥童。服務器端接收后,使用自己的私鑰對數(shù)據(jù)解密褒翰,同時向客戶端發(fā)送一個前面所有內(nèi)容的 hash 值供客戶端檢驗贮懈。這個時候雙方都有了三個隨機數(shù),按照之前所約定的加密方法优训,使用這三個隨機數(shù)生成一把秘鑰朵你,以后雙方通信前,就使用這個秘鑰對數(shù)據(jù)進行加密后再傳輸揣非。
返回數(shù)據(jù): 當頁面請求發(fā)送到服務器端后抡医,服務器端會返回一個 html 文件作為響應,瀏覽器接收到響應后早敬,開始對 html 文件進行解析忌傻,開始頁面的渲染過程。
頁面渲染: 瀏覽器首先會根據(jù) html 文件構(gòu)建 DOM 樹搁嗓,根據(jù)解析到的 css 文件構(gòu)建 CSSOM 樹芯勘,如果遇到 script 標簽,則判端是否含有 defer 或者 async 屬性腺逛,要不然 script 的加載和執(zhí)行會造成頁面的渲染的阻塞荷愕。當 DOM 樹和 CSSOM 樹建立好后,根據(jù)它們來構(gòu)建渲染樹棍矛。渲染樹構(gòu)建好后安疗,會根據(jù)渲染樹來進行布局。布局完成后够委,最后使用瀏覽器的 UI 接口對頁面進行繪制荐类。這個時候整個頁面就顯示出來了。
TCP四次揮手: 最后一步是 TCP 斷開連接的四次揮手過程茁帽。若客戶端認為數(shù)據(jù)發(fā)送完成玉罐,則它需要向服務端發(fā)送連接釋放請求屈嗤。服務端收到連接釋放請求后,會告訴應用層要釋放 TCP 鏈接吊输。然后會發(fā)送 ACK 包饶号,并進入 CLOSE_WAIT 狀態(tài),此時表明客戶端到服務端的連接已經(jīng)釋放季蚂,不再接收客戶端發(fā)的數(shù)據(jù)了茫船。但是因為 TCP 連接是雙向的,所以服務端仍舊可以發(fā)送數(shù)據(jù)給客戶端扭屁。服務端如果此時還有沒發(fā)完的數(shù)據(jù)會繼續(xù)發(fā)送算谈,完畢后會向客戶端發(fā)送連接釋放請求,然后服務端便進入 LAST-ACK 狀態(tài)料滥∪谎郏客戶端收到釋放請求后,向服務端發(fā)送確認應答葵腹,此時客戶端進入 TIME-WAIT 狀態(tài)罪治。該狀態(tài)會持續(xù) 2MSL(最大段生存期,指報文段在網(wǎng)絡中生存的時間礁蔗,超時會被拋棄) 時間,若該時間段內(nèi)沒有服務端的重發(fā)請求的話雁社,就進入 CLOSED 狀態(tài)浴井。當服務端收到確認應答后,也便進入 CLOSED 狀態(tài)霉撵。

作者:教主鴿鴿
鏈接:https://juejin.cn/post/7085622765113311269
來源:稀土掘金
著作權(quán)歸作者所有磺浙。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處徒坡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末撕氧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子喇完,更是在濱河造成了極大的恐慌伦泥,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锦溪,死亡現(xiàn)場離奇詭異不脯,居然都是意外死亡,警方通過查閱死者的電腦和手機刻诊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門防楷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人则涯,你說我怎么就攤上這事复局〕宀荆” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵亿昏,是天一觀的道長峦剔。 經(jīng)常有香客問我,道長龙优,這世上最難降的妖魔是什么羊异? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮彤断,結(jié)果婚禮上野舶,老公的妹妹穿的比我還像新娘。我一直安慰自己宰衙,他們只是感情好平道,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著供炼,像睡著了一般一屋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袋哼,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天冀墨,我揣著相機與錄音,去河邊找鬼涛贯。 笑死诽嘉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的弟翘。 我是一名探鬼主播虫腋,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼稀余!你這毒婦竟也來了悦冀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤睛琳,失蹤者是張志新(化名)和其女友劉穎盒蟆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體师骗,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡茁影,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了丧凤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片募闲。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡榜配,死狀恐怖忽孽,靈堂內(nèi)的尸體忽然破棺而出实撒,到底是詐尸還是另有隱情桨菜,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布要出,位于F島的核電站鸳君,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏患蹂。R本人自食惡果不足惜或颊,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望传于。 院中可真熱鬧囱挑,春花似錦、人聲如沸沼溜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽系草。三九已至通熄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間找都,已是汗流浹背唇辨。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留能耻,地道東北人助泽。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像嚎京,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子隐解,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

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