目錄
HTTP報文格式
1、請求報文格式
HTTP請求報文主要由請求行、請求頭部、空行以及請求正文4部分組成,如表17-1所示。
以上表格中,第1行爲“請求行”;第2、3、4行爲“請求頭部”;第5行爲“空行”;第6行爲“請求正文”。下面分別介紹這4個部分,如下所示:
(1)請求行由3部分組成,分別爲請求方式、URI (注意這裏不是URL)以及協議版本組成。它們之間由空格分隔。請求方法主要包括GET、POST等;常見的協議版本有HTTP/1.1。
(2)請求頭部包含很多有關客戶端環境以及請求正文的有用信息。請求頭部由“關鍵字:值"對組成,每行一對,關鍵字和值之間使用英文“:”分隔。
(3)空行,這一行非常重要,必不可少。表示請求頭部結束,接下來爲請求正文。
(4)請求正文,如以POST方式提交的表單數據。
2、響應報文格式
HTTP響應報文主要由狀態行、響應頭部、空行以及響應正文4部分組成。如表17-2所示。
以上表格中,第1行爲“狀態行”;第2、3、4行爲“響應頭部”;第5行爲“空行”;第6行爲“響應正文”。下面分別介紹這4個部分,如下所示:
(1)狀態行由3部分組成,分別是HTTP協議版本、狀態代碼和狀態代碼描述。狀態代碼爲3位數字,由1、2、3、4以及5開頭。其中,2開頭的指響應成功; 3 開頭的指重定向; 4開頭的指客戶端錯誤; 5開頭的指服務端錯誤。詳細的狀態碼就不介紹了,下面列
舉幾個常見的,如下所示:
- 200: 表示響應成功。
- 400: 表示錯誤的請求,用戶發送的HTTP請求不正確。
- 404:表示文件不存在,也就是HTTP請求URI錯誤。
- 500: 表示服務器內部錯誤。
(2)響應頭部與請求頭部類型,也包含了很多有用的信息。
(3) 空行,該行是必不可少的一行,表示響應頭部結束。
(4)響應正文,服務器返回的文檔,最常見的爲HTML網頁。
HTTP的頭域
在HTTP的請求消息和應答消息中,都包含頭域。頭域分爲4種,其中請求頭域和應答頭域分別只在請求消息和應答消息中出現,通用頭域和實體頭域兩種消息中都可以出現,但實體頭域只有當消息中包含了實體數據時纔會出現。下面分別介紹這4種頭域中的域名稱和功能。
1、請求頭域名稱含義
請求頭域只在請求消息中出現
2、應答頭域名稱含義
應答頭域只在應答消息中出現,是Web服務器向瀏覽器提供的一些狀態和要求。所有的應答頭域名稱及功能如下表所示。
3、通用頭域名稱含義
通用頭域既可以用在請求消息,也可以用在應答消息。所有的通用頭域名稱及功能如下表所示。
4、實體頭域名稱含義
只有在請求和應答消息中包含實體數據時,才需要實體頭域。請求消息中的實體數據是一些由瀏覽器向Web服務器提交的數據,如在瀏覽器中採用POST方式提交表單時,瀏覽器就要把表單中的數據封裝在請求消息的實體數據部分。應答消息中的實體數據是Web服務器發送給瀏覽器的媒體數據,如網頁、圖片和文檔等。實體頭域說明了實體數據的一些屬性,所有實體頭域名稱及功能如下表所示。