日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

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

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


前端必懂面試題之瀏覽器輸入URL之后發(fā)生了什么

 

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

瀏覽器輸入URL之后大致有這么幾個階段:

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


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

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

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

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


2. 建立TCP鏈接

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

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

 

我的理解是:我們訪問一個網(wǎng)站之前,首先要保證有網(wǎng)絡(luò)對吧?那么此時,鏈路層就是ok的。經(jīng)過上面第一步,已經(jīng)知道了該域名映射的IP地址,并且可以訪問,那么此時網(wǎng)絡(luò)層也是ok的。那么接下來,就是傳輸層,也就是TCP。其實這里說的也不是很嚴謹,傳輸層不僅僅是TCP一種協(xié)議,還有UDP協(xié)議。UDP協(xié)議是無連接的,因為其不需要連接,所以效率比較高,但是也是因為不需要連接驗證 所以安全性和可靠性得不到保障。而TCP是面向連接的,有校驗機制。所以用的較廣泛。但是也有缺點: 因為提前建立了連接,所以效率就較低。本文說的傳輸層指的是TCP協(xié)議。為了確保連接雙方的可靠性,在雙方建立連接時,TCP采用了三次握手策略

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

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

2 . 第二次握手

服務(wù)端接收到了客戶端瀏覽器發(fā)送的SYN標志報文段后,需要發(fā)送ACK確認報文段對這個SYN報文段進行確認。同時又會向客戶端發(fā)生自己的SYN請求信息。服務(wù)端會將上述信息放到一個報文段(SYN+ACK報文段)中 一同發(fā)送給客戶端。此時服務(wù)端進入SYN_RECV階段

第三次握手

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

 

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

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

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

分享到:
標簽:URL
用戶無頭像

網(wǎng)友整理

注冊時間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

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

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

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

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定