🏍?🏍?🏍?引言:什么是協議?
協議是一種約定,規定好一種信息的格式,如果發送方按照這種請求格式發送信息,那么接
收端就要按照這樣的格式解析數據,否則就會出錯,這就是協議
常用協議舉例:
👓👓👓(1)json協議(輕量級數據交換格式)
基于兩種基本結構:
對象:由大括號{ }包圍 包含鍵值對,鍵必須為字符串并且用雙引號包圍,值可以是字符串,數字,數組等
數組:由方括號 [ ]包圍,值可以是字符串,數字,數組等
數組和對象可以互相嵌套
{
“name":"jack",
age":23
}
👓👓👓(2)xml(可擴展標記語言)協議
<xml>
<user>
<name> jack </name>
<age> 234 (/age>
</user>
</xml>
(3)TCP/UCP 網絡傳輸協議
(4)HTTP:超文本傳輸協議
🏍?🏍?🏍?一.超文本傳輸協議
💙定義:即超文本傳送協議 Hypertext Transfer Protocol),是Web聯網的基礎,也是手機PC聯網常用的協議之一,HTTP協議是建立在TCP協議之上的一種應用
💙版本迭代:http0.9-> http1.0-> http1.1->http2.0
💙最顯著的特點:客戶端發送的每次請求都需要服務器回送響應,從建立連接到關閉連接的過程
稱為“一次連接”
💙基本流程:HTTP請求-HTTP響應
🏍?🏍?🏍?二.圖解HTTP請求響應流程
以京東商城為例子
我們使用谷歌瀏覽器打開京東商城,然后按下F12打開控制臺,選擇網絡,再點擊全部,然后選中圖片點開表頭,我們就可以可見它的HTTP請求頭,如下圖所示
然后再點擊預覽我們就可以看到服務器返回了一張圖片
返回的正是我們看到京東商城頁面上的秒殺圖標
觀察控制臺可以發現,像其他諸如CSS,JS或者其他文檔也都有對應的HTTP請求頭和返回結果,讀者可以自行嘗試
🏍?🏍?🏍?三.HTTP響應狀態碼
狀態碼一般是三位數,但是我們通常只看開頭的一位就可以定位問題所在
1xx:信息
2xx:成功
比如200表示OK,請求正常
3xx:重定向
4xx:客戶端錯誤404 Not Found,服務器無法找到被請求頁面
5xx:服務器錯誤,比如503 Service Unavailable表示服務器掛了或者不可用
觀察下圖我們可以發現狀態一欄的狀態碼都是200,以2開頭表示請求成功,獲取到了對應的資源
🏍?🏍?🏍?四.HTTPS和HTTP的區別與聯系
HTTPS全稱是 Hyper Text Transfer Prot ocol over SecureSocket Layer
·主要由兩部分組成: HTTP+ SSL/TLS
比HTTP協議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。增加破解成本
缺點:相同網絡環境下, HTTPS 協議會使頁面的加載時間延長近50%,增加額外的計算資源消耗,增加10%到20%的耗電等;不過利大于弊,所以Https是趨勢,相關資源損耗也在持續下降
如果做軟件壓測:應該直接壓測內網ip,通過壓測公網域名,不管是http還是https,都會帶來額外的損耗導致結果不準確