1. 程式人生 > >深入Nginx之《HTTP請求報文與HTTP響應報文》

深入Nginx之《HTTP請求報文與HTTP響應報文》

分組 value align 後端服務 請求超時 odin cep 問題 ati

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等指令。

深入Nginx之《HTTP請求報文與HTTP響應報文》