當今最流行的http協議版本為http/1.1,本文內容均以此版本為準
一、報文
http協議的報文分為兩種,請求報文和響應報文
請求報文由4部分組成
1.起始行
2.請求頭
3.空行
4.請求體
響應報文也由4部分組成
1.起始行
2.響應頭
3.空行
4.響應體
其中起始行都是必須的,其他內容可選
請求報文起始行由3部分組成,請求方法、請求url、協議版本
響應報文起始行也由3部分組成,協議版本、狀態碼、狀態文字
詳情參考
二、請求方法
http協議規定了9中請求方法,包括get、head、post、put、delete、connect、options、trace、patch
其中get、head,connect、options、trace方法無請求體,delete方法為可選請求體
其中head、put、trace方法無響應體,delete方法為可選響應體
詳情參考
三、狀態碼
狀態碼範圍為100-599,型別分為六種
1xx:請求未完成,其中101常用於websocket連線
2xx:請求成功,其中200為成功響應
3xx:需要重定向,其中301和302表示需要url重定向,304表示資源未改變
400:客戶端錯誤,其中403表示請求被禁止,404表示資源不存在
500:服務端錯誤,其中500表示伺服器內部錯誤,503表示伺服器拒絕響應
詳情參考
四、mime型別
瀏覽器通常使用mime來判斷資料型別,所以我們在使用ajax請求時通常要手動設定mime型別(content-type)
mime的語法結構為
type/subtype
在可以在請求體傳送資料的ajax請求中,通常需要指定content-type來確定傳輸的資料格式
以post請求為例,原生表單提交支援其中的兩種
multipart/form-data 引數以boundary分割,可上傳檔案
常用的還有text/plain 純文字形式
post請求的以上三種方法和get、head請求合稱為簡單請求,簡單請求和複雜請求在跨域訪問(cors)時會有區別
詳情參考
深入理解HTTP協議
http協議 hypertext transfer protocol 超文字傳輸協議,它是web的核心。它由兩部分程式組成 乙個客戶機程式,和乙個伺服器程式,執行在不同的端系統中,通過http報文進行通訊。http協議定義了web客戶機如何向web伺服器請求web頁面,下圖描述了http請求 響應行...
Linux 深入理解HTTP協議
基本概念及作用 首先http協議屬於應用層協議,應用層協議就是我們程式設計師自己定協議,但如果每次都自己定麻煩並且很容易出錯,所以有了一些現成的 http,dns 等,所以大多是直接拿來用就行,而應用層的作用就是雙方達成某種約定,一段按照約定的協議傳送資料,另一端按照約定來解析資料,保證接收資料的一...
HTTP 協議深入理解(一)
在 聊聊 http 協議的知識點 中介紹了 http 協議主要負責服務端和客戶端的資料傳輸,資料傳輸主要分為 2 塊 一是請求資料,客戶端向服務端請求資料 二是響應資料 服務端向客戶端響應資料,然而請求和響應都是通過請求報文和響應報文來完成的。今天我將帶大家了解 http 協議請求報文和響應報文的組...