圖解HTTP權威指南 | HTTP報文

                                                                               

   

1、問題

一、報文流是如何流動的
二、HTTP報文的三個組成部分
三、請求和響應報文之間的區別
四、請求報文支持的各類方法
五、和響應報文一塊兒返回的各類狀態碼
六、各類各樣的HTTP首部都是用來作什麼的
 
 

2、報文流

一、什麼是HTTP報文
 
HTTP報文是在HTTP應用程序直接發送的數據塊。這些數據塊以一些文本形式的元信息(meta-information)開頭。這些信息描述了報文的內容及含義,後面跟着可選的數據部分。這些報文在客戶端、服務器和代理直接流動。
 
經常使用術語:流入、流出、上游、下游
 
二、報文流入源端服務器
 
HTTP使用術語 流入(inbound)流出(outbound)來描述 事務處理(transaction)的方向。報文流入源端服務器,工做完成後,會流回用戶的Agent代理中。
 
 
 
 
三、報文向下遊流動
 
HTTP報文會像河水同樣流動。不論是請求報文仍是響應報文,全部報文都會向下遊(downstream)流動。全部的報文的發送者都在接收者的上游(upstream)。

 

 

 
對於請求報文來講,代理1位於代理3的上游;但對於響應報文來講,它就位於代理3的下游。
 

3、報文的組成

HTTP報文是簡單的格式化數據塊。每條報文都包含一條來自客戶端的請求,或者一條來自服務端的響應。他們由三個部分組成:對報文進行描述的 起始行(start line),包含屬性的 首部(header)塊,以及可選的、包含數據的 主體(body)部分。
 
 
起始行和首部是由行分隔符的ASCII文本,每行都以一個由兩個字符組成的行終止序列做爲結束,其中包含一個回車符(ASCII碼13)和一個換行符(ASCII碼10)。
實體的主體或報文的主體是一個可選的數據塊。與起始行和首部不一樣的是主體能夠包含文本或二進制數據,也能夠爲空。
 

4、報文的語法

全部的HTTP報文均可以分爲兩類:請求報文(request message)和響應報文(response massage)。請求報文會向Web服務器請求一個動做。響應報文會將請求的結果返回給客戶端。請求和響應報文的基本報文機構相同。
 
請求報文的格式
<method> <request-URL> <version>
<headers>

<entity-body>

 
響應報文的格式
<version> <status> <reason-phrase>
<headers>

<entity-body>

 
 

4、詳解

一、起始行
 
全部的HTTP報文都以一個起始行做爲開始。請求報文的其實行說明了 要作些什麼。響應報文的起始行說明了 發生什麼
 
1)請求行
請求報文請求服務器對資源進行一些操做。請求報文的起始行,或稱爲請求行,包含了一個方法和一個請求的URL,這個方法描述了服務器應該執行的操做,請求URL描述了要對哪一個資源執行這個方法。請求行中還包含了HTTP的版本,用來告知服務器,客戶端使用的是哪一種HTTP。
 
2)響應行
響應報文承載了狀態信息和操做產生的全部結果數據,將其返回給客戶端。響應報文的起始行,或稱爲響應行,包含了響應報文使用的HTTP版本、數字狀態碼,以及描述操做狀態的文本形式的緣由短語。
 
二、方法
 
請求的起始行以方法做爲開始,方法用來告知服務器須要作些什麼。
 
 
 
三、版本號
 
報文所使用的HTTP版本,格式爲:
HTTP/<major>.<minor>

其中主要版本號(major)和次要版本號(minor)都是整數。服務器

 
四、狀態碼(status code)
 
這三位數字描述了請求過程當中所發生的狀況。每一個狀態碼的第一位數字都用於描述狀態的通常類別(「成功」、「出錯」等)。
 
 
 
五、緣由短語(reason-phrase)
 
數字狀態的可讀版本,包含行終止序列以前的全部文本。
 
六、首部(header)
 
能夠有零個或多個首部,每一個首部都包含有個名字,後面跟着一個冒號(:),而後是一個可選的空格,接着是一個值,最後是一個CRLF。首部都是由一個空行(CRLF)結束的,表示了首部列表的結束和實體主體部分的開始。
 

 

 

 
七、實體的主體部分(entity-body
 
實體的主題部分包含一個由任意數據組成的數據塊。並非全部的報文都包含實體的主體部分,有時,報文只是以一個CRLF結束。
 

4、交流學習

歡迎你們關注個人公衆號,一塊兒交流、學習。 運維

 

文中的思惟導圖以及各類總結的表格均可關注公衆號:運維汪,發送「1」後下載原圖或原文件。
相關文章
相關標籤/搜索