報文

報文是網絡中交換與傳輸的數據單元,即站點一次性要發送的數據塊。報文包含了將要發送的完整的數據信息,其長短很不一致,長度不限且可變。服務器

報文也是網絡傳輸的單位,傳輸過程當中會不斷的封裝成分組、包、幀來傳輸,封裝的方式就是添加一些信息段,那些就是報文頭以必定格式組織起來的數據。網絡

報文由三部分組成:起始行 首部 主體編碼

起始行:在第一行,在請求報文中說明要作些什麼,在響應報文中說出現什麼問題spa

a:請求行:對象

請求報文請求服務器對資源進行一些操做。請求報文的起始行,或稱爲請求行,包含了一個方法和一個請求URL,這個方法描述了服務器應該執行的操做,請求URL描述了要對哪一個資源執行這個方法。請求行中還包含HTTP 的版本,用來告知服務器,客戶端使用的是哪一種HTTP。全部這些字段都由空格符分隔。ci

例如:POST /infoNewsAction_uploadxheditorfile.action?immediate=1 HTTP/1.1資源

b.響應行開發

響應報文承載了狀態信息和操做產生的全部結果數據,將其返回給客戶端。響應報文的起始行,或稱爲響應行,包含了響應報文使用的HTTP 版本、數字狀態碼,以及描述操做狀態的文本形式的緣由短語。 全部這些字段都由空格符進行分隔。get

例如:HTTP/1.1 200 Oit

 

首部:有0或多個首部字段,每一個首部字段包含一個名字和值,通常以「:」分隔

1.每一個HTTP 首部都有一種簡單的語法:名字後面跟着冒號(:),而後跟上可選的空格,再跟上字段值,最後是一個CRLF。(或者換行符)

2. 首部延續行

將長的首部行分爲多行能夠提升可讀性,多出來的每行前面至少要有一個空格或製表符(tab)。

主體:包含了全部類型的數據,請求主體中包括了要發送給Web 服務器的數據;響應主體中裝載了要返回給客戶端的數據。主體可包含然以二進制文件。

3.通用首部

4.響應首部

5.實體首部

是用於應對實體主體部分的首部

6.內容首部

Content-Encoding

 對主體執行的任意編碼方式

Content-Length

主體的長度或尺寸

Content-Type

 這個主體的對象類型

7.擴展首部

非標準的首部,由應用程序開發者建立,但還未添加到已批准的

HTTP 規範中去。即便不知道這些擴展首部的含義,HTTP 程序也要接受它們並

對其進行轉發。

基本語法格式:

請求報文的格式:

<method> <request-URL> <version>

<headers>

<entity-body>

 

響應報文的格式(注意,只有起始行的語法有所不一樣):

<version> <status> <reason-phrase>

<headers>

<entity-body>

 

 

狀態碼

100~199——信息性狀態碼

200~299——成功狀態碼

300~399——重定向狀態碼     <p65>

400~499——客戶端錯誤狀態碼

500~599——服務器錯誤狀態碼

相關文章
相關標籤/搜索