目錄
請求 Request
瀏覽器根據用戶請求方式,將請求相關數據按照HTTP規定的格式進行封裝,然後將封裝好的數據發送給指定服務器。
定義
客戶端根據用戶地址信息將數據發送給服務器的過程
結構
- 請求行:請求方式、請求的地址和HTTP協議版本
- 請求頭:消息報頭,一般用來說明客戶端要使用的一些俯角消息(瀏覽器相關數據)
- 空行:位於請求航和請求數據之間,是必須要有的。
- 請求實體:非必須(用戶數據)
請求方式不同,格式裏的細節不同。
請求方式
GET和POST區別
GET
- get請求方式,請求實體數據以?形式,跟在url後面,以&隔開
- url長度限制,不能攜帶大量數據
- 不安全,沒有請求實體部分
POST
- 適用於數據量小、安全級別不高的請求
- post請求方式,請求數據是在請求實體中進行發送,url中看不到具體請求數據
- 安全
- 適合大量數據發送
響應Response
服務器在接收到瀏覽器的請求信息後,會根據請求信息進行請求處理,將處理結果重新按照HTTP協議的要求進行封裝,然後將封裝的數據響應給瀏覽器,瀏覽器在接收響應信息後,解析執行。
至此,一次請求就完整地被執行。
定義
服務器將請求的處理結果發送到瀏覽器的過程
結構
- 響應行(狀態行):HTTP版本、狀態碼、狀態信息
- 響應頭:消息報頭,客戶端使用的俯角信息
- 空行:響應頭和響應實體之間的,必須的
- 響應實體:徵文,服務器返回瀏覽器給的信息
響應狀態碼
HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的作用。HTTP狀態碼共分爲5種類型:
分類 | 分類描述 |
---|---|
1** | 信息,服務器收到請求,需要請求者繼續執行操作 |
2** | 成功,操作被成功接收並處理 |
3** | 重定向,需要進一步的操作以完成請求 |
4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
5** | 服務器錯誤,服務器在處理請求的過程中發生了錯誤 |