日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > HTML >内容正文

HTML

从浏览器地址栏输入网址,到网页彻底打开,中间都发生了什么?

發(fā)布時(shí)間:2025/3/21 HTML 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从浏览器地址栏输入网址,到网页彻底打开,中间都发生了什么? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

從輸入域名到網(wǎng)頁(yè)打開(kāi)的簡(jiǎn)單過(guò)程如下,還附加我自己的理解:

1.DNS域名解析

  客戶端輸入域名后,由DNS服務(wù)器來(lái)將域名解析成對(duì)應(yīng)服務(wù)器的IP地址

2.建立TCP連接;

  獲得服務(wù)器IP之后,就需要三次握手的協(xié)議才能建立連接
    1)客戶端發(fā)送SYN包請(qǐng)求,等待服務(wù)器確認(rèn)
    2)服務(wù)器確認(rèn)收到SYN包請(qǐng)求后,同時(shí)自己也返回一個(gè)包給客戶端,即返回SYN+ACK
    3)客戶端收到SYN+ACK包之后,返回給服務(wù)器一個(gè)確認(rèn)包ACK包表示收到,然后雙方達(dá)成協(xié)議,建立連接

3.發(fā)送HTTP請(qǐng)求;

  與服務(wù)器建立連接之后,就可以向服務(wù)器發(fā)送請(qǐng)求了,請(qǐng)求需要遵循h(huán)ttp協(xié)議

4.服務(wù)器處理請(qǐng)求;

  被請(qǐng)求的服務(wù)器解析用戶請(qǐng)求的有哪些資源,通過(guò)服務(wù)器返回?cái)?shù)據(jù)給客戶端

5.返回響應(yīng)結(jié)果;

  給客戶端返回請(qǐng)求的狀態(tài)碼,通過(guò)狀態(tài)碼可以知道服務(wù)器端的處理是否正常

  常見(jiàn)狀態(tài)碼:狀態(tài)碼
    100 Continue 繼續(xù),客戶端應(yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求。這個(gè)臨時(shí)響應(yīng)是用來(lái)通知客戶端它的部分請(qǐng)求已經(jīng)被服務(wù)器接收,且仍未被拒絕
    200 OK 請(qǐng)求成功,表示正常狀態(tài)
    301 Moved Permanently 請(qǐng)求的網(wǎng)頁(yè)已永久移動(dòng)到新位置。
    400 Bad Request 語(yǔ)義有誤,當(dāng)前請(qǐng)求無(wú)法被服務(wù)器理解。或者是請(qǐng)求參數(shù)有錯(cuò)誤
    404 Not Found 請(qǐng)求失敗,請(qǐng)求所希望得到的資源未被在服務(wù)器上發(fā)現(xiàn)。多數(shù)情況是找不到輸入域名對(duì)應(yīng)的網(wǎng)頁(yè)。? ?
    500 Internal Server Error 一般來(lái)說(shuō),這個(gè)問(wèn)題都會(huì)在服務(wù)器端的源代碼出現(xiàn)錯(cuò)誤時(shí)出現(xiàn)。。  

6.瀏覽器渲染:

  返回成功之后,瀏覽器拿到請(qǐng)求頁(yè)面的代碼,將其解析渲染出來(lái)。解析和渲染的過(guò)程主要由瀏覽器的渲染引擎實(shí)現(xiàn)

7. 斷開(kāi)連接:

  數(shù)據(jù)傳輸完畢,需要斷開(kāi)tcp連接,此時(shí)tcp發(fā)起4次揮手

  1)客戶端發(fā)送給服務(wù)器,告訴服務(wù)器需要關(guān)閉tcp了

  2)服務(wù)器發(fā)送給客戶端,告訴客戶端我準(zhǔn)備一下就關(guān)閉

  3)服務(wù)器發(fā)送給客戶端,告訴客戶端我已經(jīng)準(zhǔn)備好關(guān)閉了

  4)客戶端發(fā)送給服務(wù)器,告訴服務(wù)器我也準(zhǔn)備好關(guān)閉了。

?

我自己是用? "到外面吃飯" 這種方式來(lái)理解的:

1. 比如我要到某某餐館吃飯,我先在地圖上搜 餐館在哪里,然后通過(guò)導(dǎo)航 找到該餐館(域名解析)

2. 到達(dá)餐館過(guò)后,我想我到底要吃什么(建立連接)

  1) 摸了摸口袋里的錢,發(fā)現(xiàn)只有兩塊錢,然后詢問(wèn)老板有沒(méi)有兩元的東西。(客戶端發(fā)送包,等待服務(wù)器確認(rèn))

  2) 老板一看我的樣子,就知道是個(gè)窮逼(服務(wù)器收到包),然后說(shuō)只有饅頭價(jià)格兩元一個(gè)!(再返回一個(gè)包)

  3) 我欣喜若狂,掏出我壓箱底的兩元錢,告訴老板我要了(客戶端返回一個(gè)包),老板表示蚊子再小也是肉,就接受了這個(gè)訂單。我們快樂(lè)地達(dá)成了協(xié)議(達(dá)成協(xié)議)

3. 老板給后廚說(shuō)準(zhǔn)備一個(gè)饅頭(發(fā)送http請(qǐng)求)

4. 后廚收到請(qǐng)求之后,開(kāi)始準(zhǔn)備饅頭的材料(處理請(qǐng)求)

5. 沒(méi)過(guò)多久,我就拿到了熱騰騰的饅頭(返回響應(yīng)結(jié)果)

6. 拿到饅頭之后我就開(kāi)始了愉快的進(jìn)食過(guò)程(渲染)

7. 吃飽之后就離開(kāi)餐館:(斷開(kāi)連接)

  1)我對(duì)老板說(shuō):老板,結(jié)賬,我準(zhǔn)備走了

  2)老板對(duì)我說(shuō):稍等一下,馬上就來(lái)

  3)老板又對(duì)我說(shuō):一共兩元。

  4)我付了賬,對(duì)老板說(shuō):這饅頭真好吃,我下次再來(lái)。

雖然上面的過(guò)程和真實(shí)的響應(yīng)過(guò)程對(duì)應(yīng)起來(lái)比較牽強(qiáng),但是這能夠幫助我理解什么時(shí)候是做什么事情,并不像原來(lái)一樣全靠記憶。

轉(zhuǎn)載于:https://www.cnblogs.com/zjjDaily/p/8302476.html

總結(jié)

以上是生活随笔為你收集整理的从浏览器地址栏输入网址,到网页彻底打开,中间都发生了什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。