亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747


前端必懂面試題之瀏覽器輸入U(xiǎn)RL之后發(fā)生了什么

 

該題是一道特別經(jīng)典的面試題了,涉及到前端人員應(yīng)該掌握的基礎(chǔ)網(wǎng)絡(luò)知識(shí),相信很多前端同學(xué)都了解。但是如果問(wèn)深了,也能問(wèn)出很多子問(wèn)題來(lái),也更能考驗(yàn)出面試者的知識(shí)深度和靈活運(yùn)用程度。

瀏覽器輸入U(xiǎn)RL之后大致有這么幾個(gè)階段:

DNS域名解析建立TCP鏈接發(fā)送HTTP請(qǐng)求服務(wù)端處理請(qǐng)求服務(wù)端返回響應(yīng)結(jié)果關(guān)閉TCP連接瀏覽器解析html并渲染布局


1. DNS域名解析
  • 我們?cè)L問(wèn)一個(gè)網(wǎng)站的時(shí)候,可以通過(guò)主機(jī)名或者域名來(lái)訪問(wèn)。但是絕大多數(shù)的時(shí)候是使用域名來(lái)訪問(wèn)網(wǎng)站。因?yàn)橄鄬?duì)于主機(jī)名的ip地址,域名更能讓人記住。
  • 但是TCP/IP協(xié)議是通過(guò)IP地址來(lái)訪問(wèn)的,所以就需要一個(gè)機(jī)制,將域名轉(zhuǎn)換為IP地址
  • 而DNS服務(wù)就是做這件事情,它提供了域名到IP地址之間的解析服務(wù)

DNS解析過(guò)程1 . 訪問(wèn)www.baidu.com到DNS服務(wù)器2 . DNS服務(wù)器返回www.baidu.com的IP地址115.182.4X.18X3 . 接著請(qǐng)求IP地址為115.182.4X.18X的服務(wù)器4 . 成功訪問(wèn)到www.baidu.com的真正服務(wù)器DNS的優(yōu)先級(jí)

本地電腦會(huì)將一些經(jīng)常使用的域名和對(duì)應(yīng)的IP地址建立一個(gè)映射關(guān)系,并保存到本地host文件中。當(dāng)DNS解析的時(shí)候,會(huì)優(yōu)先從本地host文件中查找映射的IP地址映射

1 . 如果在本地host文件中找到了域名對(duì)應(yīng)的IP地址映射,會(huì)直接使用host文件中的IP地址2 . 如果在本地host文件中沒(méi)有找到域名對(duì)應(yīng)的IP地址映射,會(huì)從本地DNS服務(wù)器中查找3 . 如果在本地DNS服務(wù)器中也沒(méi)有找到域名對(duì)應(yīng)的IP地址映射,會(huì)繼續(xù)向上一級(jí)的DNS服務(wù)器發(fā)送請(qǐng)求,直到DNS根服務(wù)器。如果找到,就進(jìn)行回傳,返回給瀏覽器。


2. 建立TCP鏈接

先了解一個(gè)知識(shí)點(diǎn): TCP/IP協(xié)議族TCP/IP協(xié)議族是由四層協(xié)議組成的系統(tǒng)。分別是:

  • 1 . 應(yīng)用層(http)
  • 2 . 傳輸層(tcp)
  • 3 . 網(wǎng)絡(luò)層(ip)
  • 4 . 鏈路層(網(wǎng)絡(luò)硬件)

 

我的理解是:我們?cè)L問(wèn)一個(gè)網(wǎng)站之前,首先要保證有網(wǎng)絡(luò)對(duì)吧?那么此時(shí),鏈路層就是ok的。經(jīng)過(guò)上面第一步,已經(jīng)知道了該域名映射的IP地址,并且可以訪問(wèn),那么此時(shí)網(wǎng)絡(luò)層也是ok的。那么接下來(lái),就是傳輸層,也就是TCP。其實(shí)這里說(shuō)的也不是很嚴(yán)謹(jǐn),傳輸層不僅僅是TCP一種協(xié)議,還有UDP協(xié)議。UDP協(xié)議是無(wú)連接的,因?yàn)槠洳恍枰B接,所以效率比較高,但是也是因?yàn)椴恍枰B接驗(yàn)證 所以安全性和可靠性得不到保障。而TCP是面向連接的,有校驗(yàn)機(jī)制。所以用的較廣泛。但是也有缺點(diǎn): 因?yàn)樘崆敖⒘诉B接,所以效率就較低。本文說(shuō)的傳輸層指的是TCP協(xié)議。為了確保連接雙方的可靠性,在雙方建立連接時(shí),TCP采用了三次握手策略

TCP三次握手建立連接1 . 第一次握手

客戶端發(fā)送帶有SYN標(biāo)志的連接請(qǐng)求報(bào)文段,然后客戶端就進(jìn)入了SYN_SEND狀態(tài) 等待服務(wù)器確認(rèn)

2 . 第二次握手

服務(wù)端接收到了客戶端瀏覽器發(fā)送的SYN標(biāo)志報(bào)文段后,需要發(fā)送ACK確認(rèn)報(bào)文段對(duì)這個(gè)SYN報(bào)文段進(jìn)行確認(rèn)。同時(shí)又會(huì)向客戶端發(fā)生自己的SYN請(qǐng)求信息。服務(wù)端會(huì)將上述信息放到一個(gè)報(bào)文段(SYN+ACK報(bào)文段)中 一同發(fā)送給客戶端。此時(shí)服務(wù)端進(jìn)入SYN_RECV階段

第三次握手

客戶端瀏覽器接收到了服務(wù)端返回的SYN+ACK報(bào)文段(請(qǐng)求+返回)后,會(huì)向服務(wù)器發(fā)送新的ACK確認(rèn)報(bào)文段。該報(bào)文段發(fā)送完畢后,客戶端和服務(wù)端都進(jìn)入到了ESTABLISHED狀態(tài),此時(shí) 就完成了三次握手

 

知其然更要知其所以然,為什么要進(jìn)行三次握手才能建立TCP連接?

根本原因就是為了確??蛻舳撕头?wù)端雙方的接收和發(fā)送能力都是ok的。經(jīng)過(guò)第一次握手后,服務(wù)端收到了客戶端的SYN請(qǐng)求標(biāo)志,那么此時(shí)服務(wù)端就可以知道:客戶端的發(fā)送能力是ok的,服務(wù)端本身自己的接收能力是ok的。經(jīng)過(guò)第二次握手后,客戶端收到了服務(wù)端的SYN+ACK請(qǐng)求+返回標(biāo)志,那么此時(shí),客戶端就可以知道:客戶端本身的發(fā)送和接收能力是ok的,服務(wù)端的發(fā)送和接收能力有是ok的。經(jīng)過(guò)第三次握手后,服務(wù)端接收到了客戶端的ACK返回標(biāo)志,那么此時(shí),服務(wù)端就可以知道:服務(wù)端本身自己的接收和發(fā)送能力是ok的。

原文:https://segmentfault.com/a/1190000021756651

分享到:
標(biāo)簽:URL
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定