一. 請求消息(request)
用戶端發送給伺服器端的資料
資料格式 :
-
請求行
請求方式 : 請求url 請求協定/版本
GET /login.html HTTP/1.1
請求方式 :
- HTTP協定中有7種請求方式, 常用的有2中
- GET :
- 請求參數在請求行中, 在url後
- 請求的url長度時有限制的
- 不安全
- POST :
- 請求參數在請求體中
- 請求的url長度沒有限制
- 相對安全
- 請求頭
請求頭名稱 : 請求頭值
- 常見的請求頭 :
- User-Agent : 浏覽器告訴伺服器, 我通路你使用的浏覽器版本資訊
- 可以在伺服器端擷取該頭的資訊, 解決浏覽器的相容性問題
- Referer : http://localohst/login.html
- 告訴伺服器, (目前請求)從哪裡來?
- 防盜鍊
- 統計工作
-
請求空行
用于分割POST請求的請求頭和請求體的
-
請求體
封裝POST請求消息的請求參數
二. 響應消息(response)
伺服器端發送給用戶端的資料
-
響應行
組成 : 協定/版本 響應狀态碼 狀态碼描述
響應狀态碼: 伺服器告訴用戶端浏覽器本次請求和響應的一個狀态
- 狀态碼都是三位數字
- 分類 :
- 1xx : 伺服器接收用戶端消息, 但沒有接收完成, 等待一段時間後, 發送1xx狀态碼
- 2xx: 成功.
- 3xx: 重定向.
- 4xx: 用戶端錯誤
- 5xx: 伺服器端錯誤
- 響應頭
- 格式 : 頭名稱 : 值
-
常見的響應頭 :
1. Content-Type : 伺服器告訴用戶端本次響應體資料格式以及編碼格式
2. Content-disposition : 伺服器告訴用戶端以什麼格式打開響應體資料
值 :
- in-line : 預設值, 在目前頁面内打開
- attachment; filename=xxx : 以附件形式打開響應體 , 檔案下載下傳
- 響應空行
- 響應體
- 字元串或二進制資料(傳輸的資料)