HTTP 協議的三次握手

 

HTTP 協議的三次握手

 

HTTP(Hypertext Transfer Protocol):超文本傳輸協議

TCP(Transmission Control Protocol):傳輸控制協議

 

1、HTTP協議和TCP/IP協議的區別?

答:TCP/IP協議是傳輸層協議,主要解決數據如何在網絡中傳輸。而HTTP是應用層協議,主要解決如何包裝數據。Web使用HTTP協議作應用層協議,以封裝HTTP文本信息,然後使用TCP/IP作傳輸層協議將它發送到網絡上。

HTTP協議的七層協議如下:

7

應用層

HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、DNS、RTSP、XMPP

6

表示層

XDR、ASN.1、SMB、AFP、NCP

5

會話層

ADSP、TLS、SSH、、RPC、RTCP、ASP、SCP

4

傳輸層

TCP、UDP、RTP、SCTP、SPX、ATP、IL

3

網絡層

IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP

2

數據鏈路層

以太網、令牌環、HDLC、幀中繼、ISDN、ATM

1

物理層

線路、無線電、光纖、信鴿

 

第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;

第二次握手服務器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;

三次握手客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。

完成三次握手,客戶端與服務器端開始傳送數據。以買家和淘寶客服舉例說明,如下圖所示:

 

 

2、HTTP協議的關鍵字段解釋

打開谷歌瀏覽器,按鍵盤上的F12鍵進入控制檯(有的筆記本電腦按F12鍵的時候,可能沒反應,此時需要Fn鍵和F12鍵一起按下去就可以進入控制檯了)

在瀏覽器中打開百度網頁,在打開的控制檯中點擊“Network”—>“XHR”—>“Headers”

Request URL:請求的URL地址

Request Method:GET,這裏表示請求的類型是GET類型,常見的還有POST類型、PUT類型、DELETE類型。

Status Code:200OK,這裏的200OK是HTTP的響應狀態碼,200表示正常,沒有錯誤信息。

Cookie:Cookie 表示一個保存在客戶機中的簡單的文本文件, 這個文件與特定的Web文檔關聯在一起, 保存了該客戶機訪問這個Web文檔時的信息, 當客戶機再次訪問這個Web文檔時這些信息可供該文檔使用。

Host:這裏的Host指的是網站的網絡服務器

Content-Type:內容類型,一般是指網頁中存在的Content-Type,用於定義網絡文件的類型和網頁的編碼,決定文件接收方將以什麼形式、什麼編碼讀取這個文件。

User-Agent:User Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章