HTTP協議

 萬維網使用超文本傳輸協議HTTP(HyperText Transfer Protocol)來實現各種鏈接。

HTTP報文格式

     

HTTP請求報文和響應報文都是由三個部分組成的。

1. 開始行,用於區分是請求報文還是響應報文。請求報文中開始行叫“Request-line”,響應報文中叫“Status-Line”。

2. 首部行,用於在客戶端和服務器端之間交換附加信息,可以有好幾行,也可以沒有。每個首部行由一個首部名、一個冒號、一個空格和一個首部值組成。

3. 實體主體,在請求報文中一般不用這個字段。

 

現在來分析一下,請求報文和響應報文的細節或不同之處。

HTTP版本:HTTP1.1、HTTP1.0、HTTP0.9

狀態碼:3位十進制的狀態編碼

狀態短語:對狀態碼的文字解釋

狀態編碼 含義
100-199 信息
200-299 成功
300-399 重定向
400-499 客戶端出錯
500-599 服務器端出錯

下面是幾個例子:

代碼 短語 說明
100 Continue 請求的開始部分已經收到,客戶可以繼續它的請求
200 Ok 請求成功
202 Accepted 請求被接受,但還沒有馬上起作用
304 Not modified 文檔還沒有被修改

 

 

 

首部分爲四類:通用(一般)首部(general-header)、實體首部(entity-header)、請求首部(request-header)、響應首部(response-header)。

通用首部給出請求和響應報文中的用於描述報文的一般信息

cache-control                    高速緩存

Connection                       指出是否連接應當關閉或不要關閉

Date                             給出當前日期

MIME-version                     給出所使用的MIME版本

upgrade                          指明優先使用的通信協議

請求首部只能出現在請求報文中。它指明客戶的配置和客戶優先使用的文檔格式。

Accept-charset                  給出客戶端能夠處理的字符集

From                                    給出用戶的電子郵件地址

響應首部,只能出現在響應報文中。它指明服務器的配置和關於請求的特殊信息。

Accept-range                     給出若服務器接受客戶所請求的範圍

Age                              給出文檔的使用期限

Public                           給出可支持的方法清單

實體首部,給出關於文檔主題的信息。雖然它主要出現在響應報文中,某些包含主體的請求報文,如POST或PUT方法,也使用這種類型的首部。

Allow                       列出URL可以使用的合法的方法

Content-language            指明語言

Content-encoding            指明編碼方案

 

HTTP 1.1 正被定義爲新的HTTP協議的標準。一些新特性已被增加到最新版本的HTTP協議中,主要包括以下幾個方面。

  • 固定的鏈接。HTTP1.1允許在同一個連接中完成多重服務請求。以往協議要求爲一個web頁上的每一個圖像建立一個獨立的連接。
  • 流水線技術。允許給一個web服務器發送附加的請求,可在初始請求的回答信號到達之前發送。
  • 緩衝去指針。允許客戶好服務器的默認緩衝區算法被調用或優化。
  • 主機標題。HTTP1.1允許多重主機名與一個單獨的IP地址相關聯。因此,解決了給一個駐留許多虛擬服務器的web服務器配置多個IP地址的需要,可用主機標題來確定請求應該被導向哪個虛擬服務器。
  • PUT和DELETE選項。允許一個遠程管理者通過使用一個標準的web瀏覽器來計入或刪除一些內容。
  • HTTP重定向。當原始的主頁不能訪問或被刪除時,HTTP重定向允許一個管理者將一個用戶重定向到一個備選的主頁或web站點。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章