從URL到頁面展示

從我們輸入一行網(wǎng)址到瀏覽器加載出一個漂亮的界面這個過程中發(fā)生了什么呢?

1.一些名詞解釋

  • URL(Uniform Resourse Locator):通常翻譯為“統(tǒng)一資源定位器”桶至,也就是人們說的“網(wǎng)址”硝训,它用于指定Internet上的資源位置轰绵。URL由4個部分組成,協(xié)議+主機名+文件夾名+文件名。
  • IP地址(Internet Protocol Address政溃,又譯為網(wǎng)際協(xié)議地址)是指互聯(lián)網(wǎng)協(xié)議地址坛芽。IP地址是IP協(xié)議提供的一種統(tǒng)一的地址格式留储,它為互聯(lián)網(wǎng)上的每一個網(wǎng)絡(luò)和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異咙轩。
  • 域名(Domain Name):是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱获讳,用于在數(shù)據(jù)傳輸時標(biāo)識計算機的電子方位(有時也指地理位置,地理上的域名活喊,指代有行政自主權(quán)的一個地方區(qū)域)丐膝。域名是一個IP地址上有“面具”

比如:百度網(wǎng)站的IP是220.181.6.18
那串?dāng)?shù)字就是IP,“百度”這個名稱就是這串IP的域名了胧弛。

  • DNS(Domain Name System):網(wǎng)域名稱系統(tǒng)尤误,是互聯(lián)網(wǎng)的一項服務(wù)。它作為將域名和IP地址相互映射的一個分布式數(shù)據(jù)庫结缚,能夠使人更方便地訪問互聯(lián)網(wǎng)损晤。每個域名都對應(yīng)一個或多個提供相同服務(wù)服務(wù)器的 IP 地址,只有知道服務(wù)器 IP 地址才能建立連接红竭,所以需要通過 DNS 把域名解析成一個 IP 地址尤勋。

2.過程

1. 輸入地址
2. 瀏覽器查找對應(yīng)的IP:

輸入地址,按了回車之后,瀏覽器來找IP了,一般來說:

  • 瀏覽器首先會在本機上查找hosts文件中有沒有對應(yīng)的域名,有的話就直接用hosts文件中對應(yīng)的IP地址喘落;
  • 沒有的話,就找LDNS——“本地DNS服務(wù)器”(本地區(qū)域名服務(wù)器,如果你在學(xué)校接入互聯(lián)網(wǎng)最冰,則 LDNS 服務(wù)器就在學(xué)校瘦棋,如果通過電信接入互聯(lián)網(wǎng),則 LDNS 服務(wù)器就在你當(dāng)?shù)氐碾娦拍抢?問下有沒有這個域名,本地DNS服務(wù)器接到瀏覽器的求助之后暖哨,本地DNS服務(wù)器就開始查詢它的緩存記錄赌朋。如果有URL對應(yīng)的IP地址,就直接告訴它篇裁。
  • 查找成功則返回結(jié)果沛慢,失敗就要發(fā)生迭代DNS解析請求:
    ? 1.LDNS 向 Root Name Server (根域名服務(wù)器,其雖然沒有每個域名的的具體信息达布,但存儲了負(fù)責(zé)每個域团甲,如 com、net黍聂、org等的解析的頂級域名服務(wù)器的地址)發(fā)起請求,此處躺苦,Root Name Server 返回 com 域的頂級域名服務(wù)器的地址:
    ? 2. LDNS 向 com 域的頂級域名服務(wù)器發(fā)起請求,返回 baidu.com 域名服務(wù)器地址产还;
    ? 3. LDNS 向 baidu.com 域名服務(wù)器發(fā)起請求匹厘,得到 www.baidu.com 的 IP 地址;
    ? (域服務(wù)器:[.com域服務(wù)器],[.net域服務(wù)器],[.org域服務(wù)器])
  • 至此雕沉,LDNS 將得到的 IP 地址返回給操作系統(tǒng)集乔,同時自己也將 IP 地址緩存起來;操作系統(tǒng)將 IP 地址返回給瀏覽器坡椒,同時自己也將 IP 地址緩存起來(這樣可以直接返回結(jié)果,方便下次查詢,加快網(wǎng)絡(luò)訪問.)扰路;瀏覽器已經(jīng)得到了域名對應(yīng)的 IP 地址。
3. 瀏覽器根據(jù)IP地址向 web 服務(wù)器發(fā)送一個 HTTP 請求,瀏覽器根據(jù)IP與服務(wù)器建立Socket連接
4. 服務(wù)器處理請求,處理完畢,返回請求
5. 瀏覽器響應(yīng),顯示HTML

3.建立連接--三次握手

知道了服務(wù)器的 IP 地址倔叼,下面便開始與服務(wù)器建立連接了汗唱。
通俗地講,通信連接的建立需要經(jīng)歷以下三個過程:

  1. 主機向服務(wù)器發(fā)送一個建立連接的請求(您好丈攒,我想認(rèn)識您)哩罪;
  2. 服務(wù)器接到請求后發(fā)送同意連接的信號(好的,很高興認(rèn)識您)巡验;
  3. 主機接到同意連接的信號后际插,再次向服務(wù)器發(fā)送了確認(rèn)信號(我也很高興認(rèn)識您),自此显设,主機與服務(wù)器兩者建立了連接框弛。
補充說明:
  • TCP 協(xié)議:三次握手的過程采用 TCP 協(xié)議,其可以保證信息傳輸?shù)目煽啃圆段妫挝帐诌^程中瑟枫,若一方收不到確認(rèn)信號斗搞,協(xié)議會要求重新發(fā)送信號。
《計算機網(wǎng)絡(luò)》第四版中講“三次握手”的目的是“為了防止已失效的連接請求報文段突然又傳送到了服務(wù)端慷妙,因而產(chǎn)生錯誤”

4.網(wǎng)頁請求與顯示

當(dāng)服務(wù)器與主機建立了連接之后僻焚,下面主機便與服務(wù)器進行通信。網(wǎng)頁請求是一個單向請求的過程膝擂,即是一個主機向服務(wù)器請求數(shù)據(jù)虑啤,服務(wù)器返回相應(yīng)的數(shù)據(jù)的過程。

  1. 瀏覽器根據(jù) URL 內(nèi)容生成 HTTP 請求猿挚,請求中包含請求文件的位置咐旧、請求文件的方式等等;
  2. 服務(wù)器接到請求后绩蜻,會根據(jù) HTTP 請求中的內(nèi)容來決定如何獲取相應(yīng)的 HTML 文件;
  3. 服務(wù)器將得到的 HTML 文件發(fā)送給瀏覽器室埋;
  4. 在瀏覽器還沒有完全接收 HTML 文件時便開始渲染办绝、顯示網(wǎng)頁;
  5. 瀏覽器發(fā)送請求獲取嵌入在 HTML 中的資源(如圖片姚淆、音頻孕蝉、視頻、CSS腌逢、JS等等)。

5.斷開連接--四次揮手

  1. 主機向服務(wù)器發(fā)送一個斷開連接的請求(不早了,我該走了)卦溢;
  2. 服務(wù)器接到請求后發(fā)送確認(rèn)收到請求的信號(知道了)吩案;
  3. 服務(wù)器向主機發(fā)送斷開通知(我也該走了);
  4. 主機接到斷開通知后斷開連接并反饋一個確認(rèn)信號(嗯媒惕,好的)系吩,服務(wù)器收到確認(rèn)信號后斷開連接;
補充說明:
  • 為什么服務(wù)器在接到斷開請求時不立即同意斷開:當(dāng)服務(wù)器收到斷開連接的請求時妒蔚,可能仍然有數(shù)據(jù)未發(fā)送完畢穿挨,所有服務(wù)器先發(fā)送確認(rèn)信號,等所有數(shù)據(jù)發(fā)送完畢后再同意斷開肴盏。
  • 第四次握手后科盛,主機發(fā)送確認(rèn)信號后并沒有立即斷開連接,而是等待了 2 個報文傳送周期菜皂,原因是:如果第四次握手的確認(rèn)信息丟失贞绵,服務(wù)器將會重新發(fā)送第三次握手的斷開連接的信號,而服務(wù)器發(fā)覺丟包與重新發(fā)送的斷開連接到達主機的時間正好為 2 個報文傳輸周期幌墓。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末但壮,一起剝皮案震驚了整個濱河市冀泻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蜡饵,老刑警劉巖弹渔,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異溯祸,居然都是意外死亡肢专,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門焦辅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來博杖,“玉大人,你說我怎么就攤上這事筷登√旮” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵前方,是天一觀的道長狈醉。 經(jīng)常有香客問我,道長惠险,這世上最難降的妖魔是什么苗傅? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮班巩,結(jié)果婚禮上渣慕,老公的妹妹穿的比我還像新娘。我一直安慰自己抱慌,他們只是感情好逊桦,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遥缕,像睡著了一般卫袒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上单匣,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天夕凝,我揣著相機與錄音,去河邊找鬼户秤。 笑死码秉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸡号。 我是一名探鬼主播转砖,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了府蔗?” 一聲冷哼從身側(cè)響起晋控,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姓赤,沒想到半個月后赡译,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡不铆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年蝌焚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片誓斥。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡只洒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劳坑,到底是詐尸還是另有隱情毕谴,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布泡垃,位于F島的核電站析珊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蔑穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一惧浴、第九天 我趴在偏房一處隱蔽的房頂上張望存和。 院中可真熱鬧,春花似錦衷旅、人聲如沸捐腿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茄袖。三九已至,卻和暖如春嘁锯,著一層夾襖步出監(jiān)牢的瞬間宪祥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工家乘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蝗羊,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓仁锯,卻偏偏與公主長得像耀找,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子业崖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

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

  • 瀏覽器與服務(wù)器的交互 在瀏覽器輸入URL 瀏覽器根據(jù)URL查找對應(yīng)的域名的IP地址野芒,查找順序瀏覽器緩存-本機緩存-...
    Wensx閱讀 172評論 0 0
  • URL是什么 統(tǒng)一資源定位符蓄愁,定位網(wǎng)絡(luò)資源,文件狞悲,數(shù)據(jù)撮抓,圖片等。協(xié)議是前面的那幾樣效诅,除了http等胀滚,還有一個ftp...
    流著萬條永遠(yuǎn)的河閱讀 320評論 0 0
  • 從url到頁面展示總體來說分為以下幾個過程: DNS解析 TCP連接 服務(wù)器處理響應(yīng)請求 瀏覽器解析渲染頁面 DN...
    Gia_Mo閱讀 251評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)乱投,斷路器咽笼,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • 我就不要想起你
    瀓sky閱讀 102評論 0 0