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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

http知识填坑

發(fā)布時(shí)間:2024/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 http知识填坑 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

當(dāng)我們輸入網(wǎng)址回車或者刷新頁面時(shí),瀏覽器和計(jì)算機(jī)做了什么事呢?

首先就是域名解析,1.瀏覽器先搜索自身的DNS緩存

         2.若瀏覽器沒有找到緩存或者緩存已經(jīng)失效,那么計(jì)算機(jī)搜索自身的DNS緩存

         3.讀取本地的HOST文件

         4.瀏覽器發(fā)起一個(gè)DNS的一個(gè)系統(tǒng)調(diào)用

          寬帶運(yùn)營商服務(wù)器查看本身緩存

          運(yùn)營商服務(wù)器發(fā)起一個(gè)迭代DNS解析的請求

          運(yùn)營商服務(wù)器把結(jié)果返回操作系統(tǒng)內(nèi)核同時(shí)緩存起來

          操作系統(tǒng)內(nèi)核把結(jié)果返回瀏覽器

          瀏覽器就拿到了www.xxxxxx.com的ip地址了?

         5.瀏覽器獲得域名對應(yīng)的ip地址后,發(fā)起HTTP經(jīng)典的“三次握手”

         6.TCP/IP鏈接建立起來后,瀏覽器就可以向服務(wù)器發(fā)生HTTP請求了

         7.服務(wù)器端接受到了這個(gè)請求,根據(jù)路徑參數(shù),經(jīng)過后端的一些處理之后,把處理后的結(jié)果數(shù)據(jù)返回給瀏覽器,比如頁面完整的html代碼返回給瀏覽器

         8.瀏覽器拿到了完整的html代碼后,在解析和渲染這個(gè)頁面時(shí),里面js,css,圖片靜態(tài)資源,他們同樣也是一個(gè)個(gè)http請求,都要經(jīng)過上面七個(gè)步驟

         9.瀏覽器根據(jù)拿到的資源對頁面進(jìn)行渲染,最終把一個(gè)完整的頁面呈現(xiàn)給用戶

?

而對于三次握手的解釋是這樣的:

?

TCP是主機(jī)對主機(jī)層的傳輸控制協(xié)議,提供可靠的連接服務(wù),采用三次握手確認(rèn)建立一個(gè)連接:

位碼即tcp標(biāo)志位,有6種標(biāo)示:

SYN(synchronous建立聯(lián)機(jī))

ACK(acknowledgement 確認(rèn))

PSH(push傳送)

FIN(finish結(jié)束)

RST(reset重置)

URG(urgent緊急)

Sequence number(順序號碼)

Acknowledge number(確認(rèn)號碼)

客戶端TCP狀態(tài)遷移:
CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED
服務(wù)器TCP狀態(tài)遷移:
CLOSED->LISTEN->SYN收到->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

?

各個(gè)狀態(tài)的意義如下:?
LISTEN - 偵聽來自遠(yuǎn)方TCP端口的連接請求;?
SYN-SENT -在發(fā)送連接請求后等待匹配的連接請求;?
SYN-RECEIVED - 在收到和發(fā)送一個(gè)連接請求后等待對連接請求的確認(rèn);?
ESTABLISHED- 代表一個(gè)打開的連接,數(shù)據(jù)可以傳送給用戶;?
FIN-WAIT-1 - 等待遠(yuǎn)程TCP的連接中斷請求,或先前的連接中斷請求的確認(rèn);
FIN-WAIT-2 - 從遠(yuǎn)程TCP等待連接中斷請求;?
CLOSE-WAIT - 等待從本地用戶發(fā)來的連接中斷請求;?
CLOSING -等待遠(yuǎn)程TCP對連接中斷的確認(rèn);?
LAST-ACK - 等待原來發(fā)向遠(yuǎn)程TCP的連接中斷請求的確認(rèn);?
TIME-WAIT -等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請求的確認(rèn);?
CLOSED - 沒有任何連接狀態(tài);

?

TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接,

(1)第一次握手:建立連接時(shí),客戶端A發(fā)送SYN包(SYN=j)到服務(wù)器B,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器B確認(rèn)。

(2)第二次握手:服務(wù)器B收到SYN包,必須確認(rèn)客戶A的SYN(ACK=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(SYN=k),即SYN+ACK包,此時(shí)服務(wù)器B進(jìn)入SYN_RECV狀態(tài)。

(3)第三次握手:客戶端A收到服務(wù)器B的SYN+ACK包,向服務(wù)器B發(fā)送確認(rèn)包ACK(ACK=k+1),此包發(fā)送完畢,客戶端A和服務(wù)器B進(jìn)入ESTABLISHED狀態(tài),完成三次握手。

完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)。

?

http協(xié)議可以粗暴的分為請求和響應(yīng),請求和響應(yīng)都會發(fā)送http頭和正文信息。http頭發(fā)送的是一些附加的信息:內(nèi)容類型,服務(wù)器發(fā)送響應(yīng)的日期,http狀態(tài)碼。正文的話就是表單的數(shù)據(jù)和返回的數(shù)據(jù)

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

總結(jié)

以上是生活随笔為你收集整理的http知识填坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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