HTTP(Hypertext Transfer Protocol,超文字傳輸通訊協定 (HTTP))

來源:互聯網
上載者:User
 

HTTP的發展是全球資訊網協會(World Wide Web Consortium)和Internet工作小組(Internet Engineering Task Force)合作的結果,(他們)最終發布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定義了HTTP協議的我們今天普遍使用的一個版本——HTTP 1.1。

HTTP是一個用於在用戶端和伺服器間請求和應答的協議。一個HTTP的用戶端,諸如一個web瀏覽器,通過建立一個到遠程主機特殊連接埠(預設連接埠為80)的串連,初始化一個請求。一個HTTP伺服器通過監聽特殊連接埠等待用戶端發送一個請求序列, 就像“GET / HTTP/1.1”(用來請求網頁伺服器的預設頁面),有選擇的接收像email一樣的MIME訊息,此訊息中包含了大量用來描述請求各個方面的資訊頭序列,響應一個選擇的保留資料主體。接收到一個請求序列後(如果要的話,還有訊息),伺服器會發回一個回複,如“200 OK”,同時發回一個它本報的訊息,此訊息的主體可能是被請求的檔案、錯誤訊息或者其他的一些資訊。

 

HTTP報文由從客戶機到伺服器的請求和從伺服器到客戶機的響應構成。請求報文格式如下:

請求行——通用資訊頭——要求標頭——實體頭——報文主體

請求行以方法欄位開始,後面分別是 URL 欄位和 HTTP 協議版本欄位,並以 CRLF 結尾。SP 是分隔字元。除了在最後的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有關通用資訊頭,要求標頭和實體頭方面的具體內容可以參照相關檔案。

應報文格式如下:

狀態行——通用資訊頭——回應標頭——實體頭——報文主體

狀態代碼元由3位元字組成,表示請求是否被理解或被滿足。原因分析是對原文的狀態代碼作簡短的描述,狀態代碼用來支援自動操作,而原因分析用來供使用者使用。客戶機無需用來檢查或顯示文法。有關通用資訊頭,回應標頭和實體頭方面的具體內容可以參照相關檔案。

 

 

    HTTP/1.1協議中共定義了八種方法來指示確認的資源執行所需的行為:

l OPTIONS——返回伺服器針對特定資源所支援的HTTP要求方法,這可以用來檢查網路伺服器的功能。

l HEAD——向伺服器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以擷取包含在響應訊息頭中的元資訊。

l GET——向特定的資源發出請求。GET方法不應當被用於產生副作用的操作中。

l POST——向指定資源提交資料進行處理請求。資料被包含在請求體中,POST請求可能會導致新的資源的建立和/或已有資源的修改。

l PUT——向指定資源位置上傳其最新內容。

l DELETE——刪除指定資源。

l TRACE——回顯伺服器收到的請求。

l CONNECT ——HTTP/1.1協議中預留給能夠將串連改為管道方式的Proxy 伺服器。

 

 

 

所有 HTTP 響應的第一行都是狀態行, 依次是當前 HTTP 版本號碼,3位元字組成的狀態碼,以及描述狀態的短語,彼此由空格分隔。狀態碼的第一個數字代表當前響應的類型:

l 1xx 訊息——請求已被伺服器接收,繼續處理

l 2xx 成功——請求已成功被伺服器接收、理解、並接受

l 3xx 重新導向——需要後續操作才能完成這一請求

l 4xx 請求錯誤——請求含有詞法錯誤或者無法被執行

l 5xx 伺服器錯誤——伺服器在處理某個正確請求時發生錯誤

常用的 HTTP 狀態代碼:

l 200 OK——

l 302 Found——

l 304 Not Modified——

l 401 Unauthorized——

l 403 Forbidden——

l 404 Not Found——

l 500 Internal Server Error——

 

常用的回應標頭:

Server——Web 服務器的名稱和版本。

Date——當前日期(格林威治標準時間)。

Last-modified——上次修改文檔的日期。  

Expires——文檔到期的日期。

Content-length——隨附資料的長度(以位元組為單位)。

Content-type ——隨附資料的MIME 類型。  

WWW-authenticate——在驗證時使用,其中的內容用於告訴客戶機軟體需要提供哪些驗證資訊(例如使用者名稱和密碼)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.