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

歡迎訪問 生活随笔!

生活随笔

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

HTML

在浏览器中输入网址后的流程

發(fā)布時(shí)間:2025/5/22 HTML 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在浏览器中输入网址后的流程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、瀏覽器發(fā)起DNS查詢請(qǐng)求

? ? ? ?在廣域網(wǎng)中是基于IP地址進(jìn)行通信的。但通常客戶訪問的是一個(gè)網(wǎng)址,為此需要先得到網(wǎng)址對(duì)應(yīng)的IP地址,這就需要域名服務(wù)系統(tǒng)將域名轉(zhuǎn)換成IP地址。在客戶端瀏覽器中輸入網(wǎng)址時(shí),瀏覽器會(huì)根據(jù)本地客戶端DNS服務(wù)器配置,向DNS服務(wù)器獲取域名對(duì)應(yīng)的IP地址。
? ? ? ?域名解析服務(wù)器是基于UDP協(xié)議實(shí)現(xiàn)的一個(gè)應(yīng)用程序,通常通過監(jiān)聽53端口來獲取客戶端的域名解析請(qǐng)求。

? ? ? ?DNS查找過程為:
? ? ? ?瀏覽器緩存->系統(tǒng)緩存->路由器緩存->ISP DNS緩存->遞歸搜索
? ? ? ?遞歸搜索過程為:從根域名服務(wù)器到頂級(jí)域名服務(wù)器到所查詢的域名服務(wù)器。

2、域名服務(wù)器向客戶端返回查詢結(jié)果域名,從而完成域名到IP地址的轉(zhuǎn)換。

3、客戶端向web服務(wù)器發(fā)送HTTP請(qǐng)求

? ? ? ?得到了域名對(duì)應(yīng)的IP地址后客戶端便可向真正的web服務(wù)器發(fā)生HTTP請(qǐng)求。通常一個(gè)HTTP請(qǐng)求格式如下:

? ? ? ?如果瀏覽器存儲(chǔ)了該域名下的cookie,那么cookie也會(huì)放入http請(qǐng)求中 ? ? ? ??

? ? ? ?HTTP請(qǐng)求是一個(gè)基于TCP協(xié)議之上的應(yīng)用層協(xié)議——超文本傳輸協(xié)議。瀏覽器通過DNS獲取到web服務(wù)器真的IP地址后,便向Web服務(wù)器發(fā)起TCP連接請(qǐng)求,通過TCP三次握手建立好連接后,瀏覽器便可以將HTTP請(qǐng)求數(shù)據(jù)通過發(fā)送給服務(wù)器了。

? ? ? TCP三次握手連接:
? ? ? 第一次握手:客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);
? ? ? 第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
? ? ? 第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
? ? ?握手過程中傳送的包里不包含數(shù)據(jù),三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動(dòng)關(guān)閉連接之前,TCP 連接都將被一直保持下去。

?

4、服務(wù)器給瀏覽器進(jìn)行一個(gè)301永久重定向響應(yīng)。

? ? ? ?IP對(duì)應(yīng)的服務(wù)器很可能是代理服務(wù)器,比如輸入“http://baidu.com”,而不是“http://www.baidu.com”,這兩個(gè)網(wǎng)址對(duì)應(yīng)的是同一個(gè)網(wǎng)頁,因此通過代理服務(wù)器的方式進(jìn)行重定向響應(yīng),讓這兩個(gè)網(wǎng)址訪問的同一個(gè)網(wǎng)頁。 瀏覽器根據(jù)重定向地址再次進(jìn)行HTTP請(qǐng)求。

5、發(fā)送響應(yīng)數(shù)據(jù)給客戶端

? ? ? Web服務(wù)器通常通過監(jiān)聽80端口來獲取客戶端的HTTP請(qǐng)求。與客戶端建立好TCP連接后,Web服務(wù)器開始接受客戶端發(fā)來的數(shù)據(jù),并通過HTTP解碼,從接受到的網(wǎng)絡(luò)數(shù)據(jù)中解析出請(qǐng)求的url信息以前其他諸如Accept-Encoding、Accept-Language等信息。
? ? ?Web服務(wù)器根據(jù)HTTP請(qǐng)求頭的信息,得到響應(yīng)數(shù)據(jù)返回給客戶端。一個(gè)典型的HTTP響應(yīng)頭數(shù)據(jù)報(bào)如下:

?

? ? ? ?至此,一個(gè)HTTP通信過程完成。web服務(wù)器會(huì)根據(jù)HTTP請(qǐng)求頭中的Connection字段值決定是否關(guān)閉TCP鏈接通道,當(dāng)Connection字段值為keep-alive時(shí),web服務(wù)器不會(huì)立即關(guān)閉此連接。

?

6、瀏覽器響應(yīng)過程

? ? ? 瀏覽器收到響應(yīng)內(nèi)容之后,生成主頁框架,同時(shí)向服務(wù)端繼續(xù)發(fā)送請(qǐng)求,請(qǐng)求的內(nèi)容是主頁里的一些資源,比如說圖片、視頻等。 對(duì)于靜態(tài)的頁面內(nèi)容,瀏覽器通常進(jìn)行緩存,對(duì)于動(dòng)態(tài)的內(nèi)容通常不緩存,緩存的時(shí)間也是有期限的。
? ? ?瀏覽器向服務(wù)器發(fā)送異步請(qǐng)求,因?yàn)橛行╉撁骘@示完成之后客戶端仍需要與服務(wù)端保持聯(lián)系。
? ? ?整個(gè)過程結(jié)束之后,瀏覽器關(guān)閉TCP連接。

TCP四次揮手?jǐn)嚅_連接

? ? ?假設(shè)Client端發(fā)起中斷連接請(qǐng)求,即發(fā)送FIN報(bào)文。Server端接到FIN報(bào)文后,意思是說"Client端沒有數(shù)據(jù)要發(fā)送了",但是如果Server端還有數(shù)據(jù)沒有發(fā)送完成,則不必急著關(guān)閉Socket,可以繼續(xù)發(fā)送數(shù)據(jù)。所以Server端先發(fā)送ACK,告訴Client端"請(qǐng)求已經(jīng)收到,但是Server端還沒準(zhǔn)備好,請(qǐng)繼續(xù)等待消息"。這個(gè)時(shí)候Client端進(jìn)入FIN_WAIT狀態(tài),繼續(xù)等待Server端的FIN報(bào)文。當(dāng)Server端確定數(shù)據(jù)已發(fā)送完成,則向Client端發(fā)送FIN報(bào)文,告訴Client端"數(shù)據(jù)發(fā)送完成,準(zhǔn)備好關(guān)閉連接"。Client端收到FIN報(bào)文后知道可以斷開連接,但是怕Server端不知道要關(guān)閉,所以發(fā)送ACK后進(jìn)入TIME_WAIT狀態(tài),如果Server端沒有收到ACK則可以重傳。Server端收到ACK后斷開連接。Client端等待了2MSL后依然沒有收到回復(fù),則證明Server端已正常關(guān)閉,則自身關(guān)閉連接。

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

總結(jié)

以上是生活随笔為你收集整理的在浏览器中输入网址后的流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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