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