wwwc最終發布了一系列的rfc,其中最著名的就是rfc 2616。rfc 2616定義了http協議的我們今天普遍使用的乙個版本——http 1.1。
儘管tcp/ip協議是網際網路上最流行的應用,http協議並沒有規定必須使用它和(基於)它支援的層。 事實上,http可以在任何其他網際網路協議上,或者在其他網路上實現。http只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。
通常,由http客戶端發起乙個請求,建立乙個到伺服器指定埠(預設是80埠)的tcp連線。http伺服器則在那個埠監聽客戶端傳送過來的請求。一旦收到請求,伺服器(向客戶端)發回乙個狀態行,比如"http/1.1 200 ok",和(響應的)訊息,訊息的訊息體可能是請求的檔案、錯誤訊息、或者其它一些資訊。
http使用tcp而不是udp的原因在於(開啟乙個)乙個網頁必須傳送很多資料,而tcp協議提供傳輸控制,按順序組織資料,和錯誤糾正
請求資訊(request message) 引用
發出的請求資訊包括以下幾個
* 請求行,例如get /images/logo.gif http/1.1,表示從/images 目錄下請求logo.gif 這個檔案。
* (請求)頭,例如accept-language: en
* 空行
* 可選的訊息體
請求行和標題必須以作為結尾(也就是,回車然後換行)。空行內必須只有而無其他空格。在http/1.1 協議中,所有的請求頭,除host外,都是可選的。
請求方法(request methods) 引用
http協議中定義了八種方法(有時也叫「動作」)來表示對指定資料的操作。
head
(head方法)要求響應與相應的get請求的響應一樣,但是沒有的響應體(response body)。這用來獲得響應頭(response header)中的
元資料資訊(meta-infomation)有(很)幫助,(因為)它不需要傳輸所有的內容。
get
(get方法用來)請求指定的資源。它是目前網上最常用的方法。它不應該用於一些會造成***的操作中
(在網路應用中用它來提交動作是一種常見的錯誤用法)。(細節請)參考後面的「安全方法」(這一節)。
post
(post方法用來)向指定的資源提交需要處理的資料。這些資料寫在請求的內容裡。(post請求)可以導致新資源的產生和已有資源的更新。
put
上傳指定資源
delete
刪除指定資源
trace
(trace方法告訴伺服器端)返**到的請求。客戶端可以(通過此方法)察看在請求過程中中間伺服器新增或者改變哪些內容。
options
返回伺服器(在指定url上)支援的http方法。通過請求「*」而不是指定的資源,這個方法可以用來檢查網路伺服器的功能。
connect
將請求的連線轉換成透明的tcp/ip通道,通常用來簡化通過非加密的http**的ssl-加密通訊(https)。
http伺服器至少應該實現get和head方法,可能的話,也實現options方法。
安全方法
有些方法(比如head, get, options, and trace) 被定義為安全方法,這些方法針對的只是資訊的返回,並不會改變伺服器的狀態(換句話說就是這些方法不會產生***)。不安全的方法(例如post, put and delete) 應該用特殊的方式向使用者展示,通常是按鈕而不是鏈結,這樣就可以使使用者意識到可能要負的責任(例如乙個按鈕帶來的資金交易。)
狀態行 引用
所有 http 響應的第一行都是狀態行, 依次是當前 http 版本號,3位數字組成的狀態**,以及描述狀態的短語,彼此由空格分隔。
狀態**的第乙個數字代表當前響應的型別:
* 1xx 訊息——請求已被伺服器接收,繼續處理
* 2xx 成功——請求已成功被伺服器接收、理解、並接受
* 3xx 重定向——需要後續操作才能完成這一請求
* 4xx 請求錯誤——請求含有詞法錯誤或者無法被執行
* 5xx 伺服器錯誤——伺服器在處理某個正確請求時發生錯誤
雖然 rfc 2616 中已經推薦了描述狀態的短語,例如"200 ok","404 not found",但是 web 開發者仍然能夠自行決定採用何種短語,用以顯示本地化的狀態描述或者自定義資訊。
HTTP協議介紹 記錄
wwwc最終發布了一系列的rfc,其中最著名的就是rfc 2616。rfc 2616定義了http協議的我們今天普遍使用的乙個版本 http 1.1。儘管tcp ip協議是網際網路上最流行的應用,http協議並沒有規定必須使用它和 基於 它支援的層。事實上,http可以在任何其他網際網路協議上,或者...
http協議介紹
http協議是建立在tcp ip協議基礎上 http協議全稱 超文字傳輸協議 http協議1.0 1.1版本 目前通用的是1.1版本 http1.0 稱為短連線 http1.1 稱為長連線.所謂長,和短指的是 持續時間的 長連線 1.1 30s 短連線是傳送完資料就斷掉.http的請求部分 基本結構...
HTTP協議介紹
http概述 超文字傳輸協議基於tcp ip通訊協議來傳遞資料 如html檔案,結果 是乙個屬於應用層的物件導向的協議,由於簡捷,快速的方式適用於分布式超 資訊系統 工作於客戶端 伺服器架構 c s架構 瀏覽器作為客戶端通過url向http服務端即web伺服器傳送所有請求 http主要特點 簡單快速...