目錄
- 1、HTTP協定講解
-
- 1.1、HTTP請求封包
-
- 1.1.1、請求行--請求方法
- 1.1.2、請求行--URL
- 1.1.3、請求頭
- 1.2、HTTP響應封包
-
- 1.2.1、 響應狀态行
- 1.2.2、 響應頭
1、HTTP協定講解
Hyper Text Transfer Protocol(超文本傳輸協定)(超文本:超級文本/超連結)
用于從網際網路伺服器傳輸超文本(資源)到本地浏覽器的傳送協定
HTTP協定是基于TCP的應用層協定,它不關心資料傳輸的細節,主要是用來規定用戶端和服務端的資料傳輸格式,最初是用來向用戶端傳輸HTML頁面的内容。預設端口是80
http是基于請求與響應模式的、無狀态的、應用層的協定
分析http請求,用fiddler抓包,導出一個登入界面的HTML檔案到本地。
選擇html檔案,右鍵→save→selected sessions → as text… 内容如下所示:
1.1、HTTP請求封包
HTTP請求封包主要由請求行、請求頭部、空一行、請求正文(請求體,get請求就沒有請求體)4部分組成
舉例:
GET請求:
POST請求:
請求行包含三部分:請求方法、統一資源定位符、HTTP協定以及版本号的說明
請求頭部資訊:發起這個請求的一些附加資訊,比如:主機是在哪兒(域名)、想接收的内容是什麼(json格式等),使用者用戶端的一些資訊:系統和浏覽器的版本說明、referer哪個頁面擷取的資訊,發的内容的格式(content-type)、接收的語言、cookie資訊等
請求體:實實在在發送給伺服器的内容
1.1.1、請求行–請求方法
1.1.2、請求行–URL
1.1.3、請求頭
注意:請求頭可以是任意的内容,關鍵看伺服器想要擷取什麼内容
常見的請求頭資訊如下
1.2、HTTP響應封包
HTTP響應封包主要由狀态行、響應頭、空一行、響應正文(請求體,get請求就沒有請求體)4部分組成
舉例:
1.2.1、 響應狀态行
HTTP/ 1.1: 協定以及版本資訊
200:狀态碼
狀态碼用于表示網頁伺服器HTTP響應狀态的3位數字代碼。如下: