HTTP報文格式
HTTP報文分為請求報文和響應報文,只有傳送了請求報文,才會有響應報文。
常見的報文格式如下所示:
請求報文
一個請求報文由四部分組成,分別是:
- 請求行
- 請求頭
- 空行
- 請求正文
請求行
請求行由三部分組成,分別是:請求方法,URL以及協議版本。
GET /test/hi-there.txt HTTP/1.0
如上所示:該請求行的請求表示了本次請求的請求方法是GET,URL是/test/hi-there.txt
,協議版本是1.0。
請求頭
請求頭又多個鍵值對組成,一般用來描述客戶端的情況以及對伺服器的要求,可以說,請求頭是HTTP協議中最重要的部分了,許多HTTP方面的優化都可以從請求頭方面入手。
之後將會有文章專門介紹請求頭。
空行
空行位於請求頭之後,由回車符和換行符組成,用來隔斷請求頭和請求正文。
請求正文
請求正文中一般儲存請求方法(比如POST)攜帶的引數
響應報文
響應報文同樣由四部分組成,分別是:
- 響應行
- 響應頭
- 空行
- 響應正文
響應行
響應行由三部分組成,分別是:協議版本,狀態碼以及狀態描述。
HTTP/1.0 200 OK
如上所示,協議版本是1.0版本,狀態碼為200,狀態描述為OK,從這一條可以看出,伺服器成功返回了資訊。
響應頭
響應頭和請求頭類似,用來描述伺服器資訊以及對請求頭的回應。
空行
空行位於響應頭之後,由回車符和換行符組成,用來隔斷響應頭和響應正文。
響應正文
響應正文就是伺服器針對HTTP請求返回的資料,按照HTTP請求的資料不同可以返回不同種類的資料。