這個頗有必要了解,好歹咱們得知道Nginx在提供HTTP服務時,客戶端都會傳些什麼。HTTP請求中客戶端傳送的內容稱爲HTTP請求報文。後端
一、請求行包含:服務器
請求方法,請求URL,HTTP協議及版本。其中請求方法和支持的協議版本包含以下:
GET,HEAD,POST 它們都支持HTTP1.0/1.1。
PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH 它們只支持HTTP1.1。圖片
二、請求頭部:字符串
客戶端向服務器傳遞請求時附加的一些信息,由key/value組成,key和value由冒號分隔,每行一對,請求頭常見的key 有 Cookie,User_Agent, Accept-Encoding。io
三、請求體:table
通常是由POST方法提交,它多是圖片,文件,或者是字符串。coding
HTTP響應報文(服務器返回給客戶端的內容)由三部分組成,它們分別是響應行,響應頭,響應體。權限
響應行包含HTTP協議版本,狀態碼,狀態碼描述。請求
其中狀態碼的分類以下:方法
狀態碼 |
做用 |
1XX |
它表示請求已經被接受,正在繼續處理,這種響應是臨時響應,不會返回響應體。 |
2XX |
成功處理並返回,它表示在服務器內已經被接收,被知曉,並處理完成。 |
3XX |
重定向功能,告知客戶端須要繼續執行操做才能夠完成請求。 |
4XX |
出現問題,和客戶端有關係,好比401表示權限問題,404表示訪問了一個不存在的URL。 |
5XX |
出現問題,和服務端有關,好比500表示內部錯誤,504表示請求超時。 |
響應頭,爲響應報文附加額外的信息,和請求頭類似。區別在於它是返回給客戶端,請求頭部是從客戶端發起。常見的響應頭key如Content-Type,Content-Encoding。
響應體,請求返回到客戶端的正文數據。
下面是一個完整的響應報文示例:
響應報文並不是只有Nginx的後端服務器才能發送的,有些時候Nginx也能夠做爲服務器對請求報文的內容進行響應,好比return,echo等指令。