目錄
1、網絡協議介紹
1.1、定義
1.2、基本作用
1.3、協議的主要內容
2、網絡協議分層
2.1、協議分層原因
2.2、網絡協議分層的缺點
2.3、OSI協議和TCP/IP協議的聯系
3、TCP/IP 協議族
3.1、定義介紹
3.2、組成
1、應用層
2、運輸層
3、網絡層
3.3、底層流程
4、TCP連接
4.1、TCP的握手機制
4.2、TCP的三次、四次連接
4.3、TCP首部格式
1、源端口/目的端口
2、序號(sequence number)
3、確認號(acknowledgement number)
4、標志位ACK
5、同步標志位SYN
6、終止標志位FIN
4.4、三次握手過程介紹
4.5、第三次握手原因
4.6、四次揮手過程
5、Http和Https
5.1、http的定義
5.2、區別和聯系
5.3、常用HTTP狀態碼
前言
????????網絡協議是網絡上所有設備(網絡服務器、計算機及交換機、路由器、防火墻等)之間通信規則的集合,它規定了通信時信息必須采用的格式和這些格式的意義。
????????大多數網絡都采用分層的體系結構,每一層都建立在它的下層之上,向它的上一層提供一定的服務,而把如何實現這一服務的細節對上一層加以屏蔽。
如下圖所示:
1、網絡協議介紹
1.1、定義
????????在計算機網絡要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則, 比如交換數據的格式、是否需要發送一個應答信息。這些規則被稱為網絡協議。
本質就是數據傳輸的規則和標準。
1.2、基本作用
- 規定通信雙方如何建立連接、如何傳遞數據、如何確認數據是否收發成功、出錯怎么處理等。
- 保證不同廠商、不同系統設備“說同一種話”,能互相交換數據。
1.3、協議的主要內容
1、語法(Syntax):
數據結構、編碼方式、數據包的格式(比如一段包頭有啥字段、每一段長)。
2、語義(Semantics):
每個字段、每一步的意義和作用,比如哪一位代表校驗、哪一位代表控制命令。
3、同步(Synchronization):
通信雙方何時發送/接受數據,通信順序,時序等等。
2、網絡協議分層
????????OSI 七層模型 是國際標準化組織提出的一個網絡分層模型,其大體結構以及每一層提供的功能如下圖所示:
2.1、協議分層原因
- 簡化問題難度和復雜度。由于各層之間獨立,我們可以分割大問題為小問題。
- 靈活性好。當其中一層的技術變化時,只要層間接口關系保持不變,其他層不受 影響。
- 易于實現和維護。
- 促進標準化工作。分開后,每層功能可以相對簡單地被描述。
2.2、網絡協議分層的缺點
????????功能可能出現在多個層里,產生了額外開銷。 為了使不同體系結構的計算機網絡都能互聯,國際標準化組織 ISO 于1977年提 出了一個試圖使各種計算機在世界范圍內互聯成網的標準框架,即著名的開放系統互聯基本參考模型 OSI/RM,簡稱為OSI。
如下圖所示:
????????OSI 的七層協議體系結構的概念清楚,理論也較完整,但它既復雜又不實用, TCP/IP 體系結構則不同,但它現在卻得到了非常廣泛的應用。
????????TCP/IP 是一個四 層體系結構,它包含應用層,運輸層,網際層(為了解決不同網絡的互連問題)和網絡接口層。
2.3、OSI協議和TCP/IP協議的聯系
四層協議,五層協議和七層協議的關系如下:
1、TCP/IP是一個四層的體系結構
主要包括:應用層、運輸層、網際層和網絡接口層。
2、五層協議的體系結構
主要包括:應用層、運輸層、網絡層,數據鏈路層和物理層。
3、OSI七層協議模型
主要包括是:應用層(Application)、表示層 (Presentation)、會話層(Session)、運輸層(Transport)、網絡層 (Network)、數據鏈路層(Data Link)、物理層(Physical)。
如下圖所示:
??注意:五層協議的體系結構只是為了介紹網絡原理而設計的,實際應用還是 TCP/IP 四層體系結構。
6.數據鏈路層
????????數據鏈路層(data link layer)通常簡稱為鏈路層。兩臺主機之間的數據傳輸,總 是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。
????????在兩個相鄰節點之間傳送數據時,數據鏈路層將網絡層交下來的 IP 數據報組裝 成幀,在兩個相鄰節點間的鏈路上傳送幀。每一幀包括數據和必要的控制信息 (如同步信息,地址信息,差錯控制等)。
????????在接收數據時,控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特 結束。
????????發送端在層與層之間傳輸數據時,每經過一層時會被打上一個該層所屬的首部信 息。反之,接收端在層與層之間傳輸數據時,每經過一層時會把對應的首部信息 去除。
7.物理層
????????在物理層上所傳送的數據單位是比特。 物理層(physical layer)的作用是實現相 鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質和物理設備的 差異。使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什么。“透明傳送 比特流”表示經實際電路傳送后的比特流沒有發生變化,對傳送的比特流來說, 這個電路好像是看不見的。
3、TCP/IP 協議族
3.1、定義介紹
????????在互聯網協議中比較著名的是TCP/IP 兩個協議。現在提到的 TCP/IP 并不一定是單指 TCP 和 IP 這兩個具體的協議,而往往是表 示互聯網所使用的整個 TCP/IP 協議族。
????????互聯網協議套件(Internet Protocol Suite,縮寫IPS)是一個網絡通訊模型, 以及一整個網絡傳輸協議家族,為網際網絡的基礎通訊架構。
????????該協定家族的兩個核心協定:TCP(傳輸控制協議)和IP(網際協議),為該家族中早 通過的標準。TCP(傳輸控制協議)和IP(網際協議) 是先定義的兩個核心協議,所以才統稱為TCP/IP協議族。
????????數據從網絡中一個終端上的應用程序傳送到另外一個終端的應用程序,中間需要經歷很多過程,有多方參與對數據進行層層封裝、轉發。
TCP/IP協議可分為應用層、運輸層、網際層、網絡接口層。
3.2、組成
1、應用層
? ? ? ? 應用層的任務是通過應用進程間的交互來完成特定網絡應用。應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和 交互的規則。
????????對于不同的網絡應用需要不同的應用層協議。在互聯網中應用層協議很多,如域名系統 DNS,支持萬維網應用的 HTTP 協議,支持電子郵件的 SMTP 協議等 等。
2、運輸層
????????運輸層(transport layer)的主要任務就是負責向兩臺主機進程之間的通信提供通 用的數據傳輸服務。應用進程利用該服務傳送應用層報文。
運輸層主要使用一下兩種協議:
1、傳輸控制協議-TCP:
提供面向連接的,可靠的數據傳輸服務。
2、用戶數據協議-UDP:
提供無連接的,盡大努力的數據傳輸服務(不保證數據傳輸的可靠性)。
如下所示:
每一個應用層(TCP/IP參考模型的最高層)協議一般都會使用到兩個傳輸層協 議之一:
運行在TCP協議上的協議:
1、HTTP(Hypertext Transfer Protocol,超文本傳輸協議):
80端口,主要用于普通瀏 覽。
2、HTTPS(HTTP over SSL,安全超文本傳輸協議):443端口,HTTP協議的安全版本。
3、FTP(File Transfer Protocol,文件傳輸協議):20和21端口,用于文件傳輸。
4、POP3(Post Office Protocol, version 3,郵局協議):110端口,收郵件用。
5、SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議):25端口,用來發送電子 郵件。
6、TELNET(Teletype over the Network,網絡電傳):通過一個終端 (terminal)登陸到網絡。
7、SSH(Secure Shell,用于替代安全性差的TELNET):22端口,用于加密安全登陸用。 運行在UDP協議上的協議:
8、BOOTP(Boot Protocol,啟動協議):應用于無盤設備。
9、NTP(Network Time Protocol,網絡時間協議):用于網絡同步。
10、DHCP(Dynamic Host Configuration Protocol,動態主機配置協議):67端口,動態 配置IP地址。 運行在TCP和UDP協議上:
11、DNS(Domain Name Service,域名服務):用于完成地址查找,郵件轉發等 工作。
3、網絡層
????????網絡層的任務就是選擇合適的網間路由和交換結點,確保計算機通信的數據及時傳送。在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組和 包進行傳送。在 TCP/IP 體系結構中,由于網絡層使用 IP 協議,因此分組也叫 IP 數據報 ,簡稱數據報。
????????互聯網是由大量的異構(heterogeneous)網絡通過路由器(router)相互連 接起來的。互聯網使用的網絡層協議是無連接的網際協議(Intert Prococol) 和許多路由選擇協議,因此互聯網的網絡層也叫做網際層或 IP 層。
3.3、底層流程
TCP/UDP協議
網際層:解決在一個單一網絡上傳輸數據包的問題。
IP協議
網絡接口層:它是數據包從一個設備的網絡層傳輸到另外一個設備的網絡層遵循的規范。
比如以太網協議、Wi-Fi協議。
如下圖所示:
4、TCP連接
4.1、TCP的握手機制
????????傳輸控制協議(TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的通信協議,工作在傳輸層。
4.2、TCP的三次、四次連接
TCP運輸連接主要有三個階段:
- 建立TCP連接,也就是三次握手
- 數據傳輸,基于已經建立的TCP連接進行可靠的數據傳輸
- 釋放TCP連接,在完成數據的輸送后,通過四次揮手來釋放連接
????????應用程序在使用 TCP 協議之前,必須先建立 TCP 連接。在傳送數據完畢后,必須釋放已經建立的 TCP 連接。連接建立通過三次握手確保雙方都能通信,而關閉連接則通過四次揮手來完成。
????????握手的三次是為了防止失效的連接請求,揮手的四次則因服務器需要處理剩余數據和避免立即關閉導致的問題。
如下圖所示:
??注意:在連接過程中,TCP首部的序列號和確認號等字段確保了數據的可靠傳輸。
4.3、TCP首部格式
????????TCP 首部格式是 TCP 協議中用來傳輸數據的報文格式,用于在發送端和接收端之間傳遞 TCP 數據。TCP 首部包含了一些必要的信息,如源端口、目標端口、序列號、確認號、標志位等,用于控制和管理 TCP 連接。
????????在三次握手的過程中,雙方會交換 TCP 首部信息,以建立連接。 TCP 連接建立后,雙方可以通過 TCP 首部中的序列號(seq)和確認號(ack)來控制和管理數據傳輸。每個 TCP 報文都包含了 TCP 首部和數據部分,其中 TCP 首部用于控制和管理數據傳輸,數據部分用于傳輸實際的數據。
1、源端口/目的端口
????????均占16比特,分別表示寫入源端口號和目的端口號,用來標識發送/接收該TCP報文段的應用進程。
2、序號(sequence number)
???????? 是發送數據包中的第一個字節的序列號,占32比特,取值范圍是[0,2^32-1]。TCP是面向字節流的。在一個TCP連接中傳送的字節流中的每一個字節都按順序編號,整個要傳送的字節流的起始序號必須在連接建立時設置。
????????首部中的序號字段值則是指的是本報文段所發送的數據的第一個字節的序號。
????????假設有兩臺主機 A 和 B 建立了 TCP 連接,A 向 B 發送了一個數據包,數據部分的長度為 100 字節,此時 A 會為這個數據包分配一個唯一的序列號,假設為 1000。
????????B 收到這個數據包后,會發送一個確認包給 A,確認收到了這個數據包,并告訴 A下一個期望接收的序列號是 1100。這樣,A 就知道 B 已經成功地接收了這個數據包,并且可以繼續發送后續的數據。
????????如果某個數據包丟失了,TCP 協議會重新發送這個數據包,并在 TCP首部中使用之前分配的序列號,以告訴接收端這是之前發送的數據包。如果某個數據包重復傳輸了,TCP 協議會使用序列號來檢查數據是否已經接收過。
作用:序列號能有效保證TCP數據傳輸的可靠性和正確性,避免數據的重復傳輸和丟失。
3、確認號(acknowledgement number)
????????Ack序號,占32比特,取值范圍[0,2^32-1],用于標識期望收到對方下一個TCP報文段的數據的第一個字節的序號,同時也是對之前收到的所有數據的確認。若確認號=n,則表明到序號n-1為止的所有數據都已正確接收,期望接收序號為n的數據。
????????在 TCP 連接中,接收端會在每個 TCP 報文中包含確認號,以告訴發送端下一個期望接收的字節的序列號。發送端會根據確認號來確認接收端已經正確地接收到了數據,并繼續發送后續的數據。
??注意:在連接過程中,TCP首部的序列號和確認號等字段確保了數據的可靠傳輸。
4、標志位ACK
????????ACK取值為1時確認號字段才有效;取值為0時確認號字段無效。TCP規定,在連接建立后所有傳送的TCP報文段都必須把ACK置1。
不要將確認序號Ack與標志位中的ACK搞混了,ACK和確認號Ack的區別:
? ? ? ? 確認標志位 ACK 和確認號都是用于保證數據傳輸可靠性的機制但具有不同的作用。
1、確認標志位 ACK 的作用是告知發送方數據是否已經成功接收。
2、確認序號的作用是告知發送方接收方期望接收的下一個字節的序列號,Ack=seq+1。
5、同步標志位SYN
在TCP連接建立時用來同步序號。
? ? ? ?假設有兩臺主機 A 和 B 建立 TCP 連接,A 需要發送一個帶有 SYN 標志位的 TCP 報文給 B,請求建立連接。
????????A 發送的 SYN 報文中包含一個隨機的序列號,B 收到這個 SYN 報文后,會回復一個帶有 SYN 和 ACK 標志位的 TCP 報文,表示確認收到請求,并請求建立連接。B 回復的 SYN 和 ACK 報文中包含確認號,確認號被設置為 A 的序列號加 1,這就起到了SYN同步A序列號的作用。
6、終止標志位FIN
????????表示發送方已經沒有數據需要發送,請求釋放TCP連接。在 TCP 連接關閉時,發送方和接收方都需要發送 FIN 標志位的 TCP 報文,以請求關閉連接。
? ? ? ?FIN 標志位的作用是保證 TCP 連接的正常關閉。通過使用 FIN 標志位,TCP 協議可以保證連接的正常關閉,避免數據的丟失和不可靠性。
????????需要注意的是,TCP 連接關閉時可能會出現 TIME_WAIT 狀態。在 TCP 連接關閉后,發送方和接收方都需要等待一段時間,以確保對方已經收到了所有數據,并且確認了連接的關閉。這個等待時間稱為 TIME_WAIT 狀態。在 TIME_WAIT 狀態下,TCP 連接不能被重新建立。
總結:
? ? ? ? TCP 首部格式和 TCP 連接是密切相關的。TCP 首部中的信息用于控制和管理 TCP 連接和數據傳輸,而 TCP 連接則是基于 TCP 首部中的信息建立的。在進行 TCP 數據傳輸時,需要使用 TCP 首部來控制和管理數據的傳輸過程,以確保數據的可靠性和正確性。
4.4、三次握手過程介紹
????????TCP 建立連接的過程叫做握手,握手需要在客戶和服務器之間交換三個TCP 報文段,稱之為“三次握手”,采用三次握手主要是為了防止已失效的連接請求報文段突然又傳送到了,因而產生錯誤。
這個連接必須是一方主動打開,另一方被動打開的。
如下所示:
????????最初兩端的TCP進程都處于關閉狀態,握手之前主動打開連接的客戶端(Client)結束CLOSED階段,被動打開的服務器端(Server)也結束CLOSED階段,并進入LISTEN監聽階段,等待TCP客戶進程的連接請求。
1.Client向Server發送TCP連接請求報文段,并進入同步已發送狀態(SYN-SENT)
標志位SYN=1,表示“請求建立新連接”;序號seq=x,作為初始值;
2.Server收到TCP連接請求報文段后,如果同意建立連接,則向Client發送TCP連接請求確認報文段,并進入同步已接收狀態(SYN-RCVD)
標志位SYN=1、ACK=1,表示“確認Client的報文之后,結束LISTEN階段,同意創建新連接”;序號seq=y,作為初始值;確認號Ack=x+1,表示“收到Client的序號seq=x,并將其值加1作為自己確認號Ack的值,這是對Client所選擇的初始序號seq的確認;
3.Client接收到Server確認收到數據的TCP報文之后,明確了數據傳輸是正常的,結束SYN-SENT階段。并返回最后一段TCP確認報文段,并進入連接已建立狀態(ESTABLISHED)
標志位ACK=1,表示”確認收到Server同意連接的確認號Ack;序號seq=x+1,因為Client發送的第一個報文段序號為x,并且不攜帶數據,因此第二個報文段的序號為x+1;確認號Ack=y+1,表示“收到Server序號seq=y,并將其值加1作為自己確認號Ack的值;
??注意:
????????TCP規定,普通的TCP確認報文段可以攜帶數據。但如果不攜帶數據則不消耗序號,在這種情況下所發送的下一個數據報文段的序號仍是x。所以第三次Client發送報文段的時候,原seq=x不變,在此基礎上直接+1即可。
總結:
????????Server收到來自Client的“確認收到服務器數據”的TCP報文之后,明確了數據傳輸是正常的。Server結束SYN-SENT階段,進入ESTABLISHED階段。此后客戶端和服務器端進行正常的數據傳輸,這就是“三次握手”的過程。
4.5、第三次握手原因
????????由于網絡傳輸是有延時的(要通過網絡光纖和各種中間代理服務器),在傳輸的過程中,比如Client發起了SYN=1創建連接的請求(第一次握手)。
????????如果Server就直接創建了這個連接并返回包含SYN、ACK和Seq等內容的數據包給Client,這個數據包因為網絡傳輸的原因丟失了,丟失之后Client就一直沒有接收到服務器返回的數據包。
? ? ? ? Client可能設置了一個超時時間,時間到了就關閉了連接創建的請求。再重新發出創建連接的請求,而Server是不知道的,如果沒有第三次握手告訴Server,Client收的到傳輸的數據的話,Server是不知道對方有沒有接收到自己返回的信息的。
????????“第三次握手”是Client向Server發送數據,這個數據就是要告訴服務器,Client有沒有收到服務器“第二次握手”時傳過去的數據。若發送的這個數據是“收到了”的信息,接收后服務器就正常建立TCP連接,否則建立TCP連接失敗,服務器關閉連接端口。
????????由此減少服務器開銷和接收到失效請求發生的錯誤。
如下圖所示:
4.6、四次揮手過程
揮手之前主動釋放連接的Client結束ESTABLISHED階段,隨后開始四次揮手。
后“兩次揮手”既讓Client知道了Server準備好釋放連接了,也讓Server知道了對方了解自己準備好釋放連接了。于是,可以確認關閉連接,由此完成“四次揮手”。
1.首先Client想要釋放連接,向Server發送一段TCP報文
標記位FIN=1,表示”請求釋放連接“;序號seq=u,設為初始值;隨后Client客戶端進入`FIN-WAIT-1階段,即半關閉階段`。并停止發送數據給Server,`但Client這邊仍然可以收到Server發送過來的數據`;
2.Server端接收到從Client發出的TCP報文之后,確認了客戶端想要釋放連接,隨后Server結束ESTABLISHED階段,進入CLOSE-WAIT階段(半關閉狀態)
標記位ACK=1,表示”接收到Client發送的釋放連接的請求“;
序號seq=v
確認號Ack=u+1
Client收到Server發過來的報文后,進入`FIN-WAIT-2階段`;
前"兩次揮手"既讓Server知道了Client想要釋放連接,也讓Client知道Server了解了自己想要釋放連接的請求。于是,可以確認關閉客戶端到服務器端方向上的連接了。
3.Server自從發出ACK確認報文之后,經過CLOSED-WAIT階段,做好了釋放連接準備,再次向客戶端發出一段TCP報文
標志位FIN=1、ACK=1,表示”已經準備好釋放連接了“;
序號seq=w;
確認號Ack=u+1;
隨后Server端結束CLOSE-WAIT階段,進入LAST-ACK階段(最后確認)。并且停止向Client發送數據,但是仍然能夠接收從對方傳輸過來的數據。
4.Client收到從Server端發出的TCP報文,確認了Server已做好釋放連接的準備,結束FIN-WAIT-2階段,進入TIME-WAIT階段,并向Server發送一段報文
標記位ACK=1,表示”收到了Server準備好釋放連接的信號“;
序號seq=u+1;
確認號Ack=w+1
隨后Client在TIME-WAIT階段等待`2MSL`
為什么Client要等待2MSL?:
? ? ? ? 當客戶端發出最后的ACK確認報文時,并不能確定服務器端能夠收到該段報文。所以客戶端在發送完ACK確認報文之后,會設置一個時長為2MSL的計時器。
MSL指的是Maximum Segment Lifetime:一段TCP報文在傳輸過程中的最大生命周期。
2MSL即是服務器端發出為FIN報文和客戶端發出的ACK確認報文所能保持有效的最大時長。
????????Server收到從Client發出的TCP報文之后結束LAST-ACK階段,進入CLOSED階段。由此正式確認關閉連接。
????????Client等待完2MSL之后,結束TIME-WAIT階段,進入CLOSED階段,由此完成“四次揮手”。
總結:
????????后“兩次揮手”既讓Client知道了Server準備好釋放連接了,也讓Server知道了對方了解自己準備好釋放連接了。于是,可以確認關閉連接,由此完成“四次揮手”。
1、為什么“握手”是三次,“揮手”要四次?
? ? ? ? TCP建立連接時之所以只需要"三次握手",是因為SYN建立連接報文與ACK確認接收報文是在同一次"握手"當中傳輸的,所以"三次握手"不多也不少,正好讓雙方明確彼此信息互通。
? ? ? ? TCP釋放連接時之所以需要“四次揮手”,是因為FIN釋放連接報文與ACK確認接收報文是分別由第二次和第三次"握手"傳輸的。釋放連接時,被動方服務器突然收到主動方客戶端釋放連接的請求時并不能立即釋放連接。
????????因為還有必要的數據需要處理,所以服務器先返回ACK確認收到報文,經過CLOSE-WAIT階段準備好釋放連接之后,才能返回FIN釋放連接報文。
2、如果已經建立了連接,但是客戶端突然出現故障了怎么辦?
????????TCP設有一個保活計時器,客戶端如果出現故障,服務器不能一直等下去,白白浪費資源。服務器每收到一次客戶端的請求后都會重新復位這個計時器,時間通常是設置為2小時。
????????若兩小時還沒有收到客戶端的任何數據,服務器就會發送一個探測報文段,以后每隔75秒鐘發送一次。若一連發送10個探測報文仍然沒反應,服務器就認為客戶端出了故障,接著就關閉連接。
3、在PC瀏覽器的地址欄輸入URL,從發起請求到收到請求頁面響應,發生了什么?
1、首先,在瀏覽器地址欄中輸入url,先解析url,檢測url地址是否合法2、瀏覽器先查看瀏覽器緩存-系統緩存-路由器緩存-ISP緩存,如果緩存中有,會直接在屏幕中顯示頁面內容。若沒有,則跳到第三步操作。
瀏覽器緩存:瀏覽器會記錄DNS一段時間,因此,只是第一個地方解析DNS請求;
操作系統緩存:如果在瀏覽器緩存中不包含這個記錄,則會使系統調用操作系統,獲取操作系統的記錄(保存最近的DNS查詢緩存);
路由器緩存:如果上述兩個步驟均不能成功獲取DNS記錄,繼續搜索路由器緩存;
ISP緩存:若上述均失敗,繼續向ISP搜索。
3、在發送http請求前,需要域名解析(DNS解析),解析獲取相應的IP地址。
4、瀏覽器向服務器發起tcp連接,與瀏覽器建立tcp三次握手。
5、握手成功后,瀏覽器向服務器發送http請求,請求數據包。服務器處理收到的請求,將數據返回至瀏覽器。
6、瀏覽器收到HTTP響應,瀏覽器解碼響應,如果響應可以緩存,則存入緩存。
7、 瀏覽器發送請求獲取嵌入在HTML中的資源(html,css,javascript,圖片,音樂…),對于未知類型,會彈出對話框。
8、 瀏覽器發送異步請求,頁面全部渲染結束。
5、Http和Https
5.1、http的定義
????????HTTP 是一個在計算機世界里專門在兩點之間傳輸文字、圖片、音頻、視頻等超文本數據的約定和規范。
5.2、區別和聯系
如下圖所示:
5.3、常用HTTP狀態碼
表示客戶端HTTP請求的返回結果、標識服務器處理是否正常、表明請求出現的錯誤等。
狀態碼的類別:
參考文章:
1、計算機中網絡協議三要素,網絡協議的三要素是什么?各有什么含義?-CSDN博客文章瀏覽閱讀1.9k次。網絡協議定義為數據交換的規則集合,主要包括語法、語義及時序三個要素。語法規定信息格式,語義說明通信行為,時序定義通信順序。TCP/IP協議是Internet廣泛采用的標準,由ARPA在1977年至1979年間推出,現已成為網絡通信的通用語言。理解網絡協議對于網絡通信至關重要。https://blog.csdn.net/weixin_30095015/article/details/117955261?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d35aa3ebe0f31892ec94aad8f5fec282%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=d35aa3ebe0f31892ec94aad8f5fec282&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-7-117955261-null-null.142^v102^control&utm_term=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%8D%8F%E8%AE%AE&spm=1018.2226.3001.4187
2、網絡協議精講-CSDN博客文章瀏覽閱讀2.9k次。計算機網路協議1、TCP/IP的四層模型應用層: http/smtp/dns/rtp…傳輸層:TCP/UDP網際層:IP網絡接口層2、HTTP三次握手和四次揮手三次握手第一次握手:客戶端發送第一個包,其中SYN標志位為1, ACK=0,發送順序號seq=x(隨機int)。客戶端進入SYN發送狀態,等待服務器確認。第二次握手:服務器收到這個包后發送第二個包,其中包SYN、ACK標志位為1,發送順序號seq=Y(隨機int),接收順序號ack=x+1,此時服務器進入SYN接收狀態。_什么是協議計算機網絡https://blog.csdn.net/weixin_40307206/article/details/107764053?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d35aa3ebe0f31892ec94aad8f5fec282%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=d35aa3ebe0f31892ec94aad8f5fec282&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-107764053-null-null.142^v102^control&utm_term=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%8D%8F%E8%AE%AE&spm=1018.2226.3001.41873、TCP協議+三次握手/四次揮手過程(帶圖詳解!!!)_tcp握手揮手協議過程-CSDN博客文章瀏覽閱讀2k次,點贊4次,收藏17次。TCP是一種面向連接的、可靠的通信協議,其連接建立通過三次握手確保雙方都能通信,而關閉連接則通過四次揮手來完成。握手的三次是為了防止失效的連接請求,揮手的四次則因服務器需要處理剩余數據和避免立即關閉導致的問題。在連接過程中,TCP首部的序列號和確認號等字段確保了數據的可靠傳輸。
https://blog.csdn.net/BigSmileBigSun/article/details/131996525?ops_request_misc=&request_id=&biz_id=102&utm_term=tcp%E7%9A%84%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-131996525.142^v102^control&spm=1018.2226.3001.4187