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

HTTP請求報文


 

 

這個頗有必要了解,好歹咱們得知道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

 

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

相關文章
相關標籤/搜索