什么是HTTP/超文本傳送協議
什么是HTTP/超文本傳送協議
WWW建立在因特網上并且使用因特網協議族,是Web協議集中的重要協議。HTTP是客戶機/服務器的傳送協議,特別設計用于支持超媒體信息系統。客戶機/服務器是運行一對相互通信的程序,客戶與服務器連接時,首先,向服務器提出請求,服務器根據客戶的請求,完成處理并給出響應。瀏覽器就是與Web服務器產生連接的客戶端程序,它的端口為TCP的80端口。瀏覽器與Web服務器之間所遵循的協議就是HTTP。該協議是一種通信協議,在Web瀏覽器和Web服務器之間建立連接,且管理信息交換。
HTTP首次出現在1990年,即HTTP O.9版本。它適用于各種數據信息的簡潔快速協議,但是遠不能滿足日益發展各種應用的需要。HTTP/0.9作為HTTP協議具有典型的無狀態性:每個事務都是獨立進行處理的,當一個事務開始就在客戶與服務器之間建立一個連接,當事務結束時就釋放這個連接。隨后,出現了HTTP 1.O版本。基本協議是無狀態的,說明客戶機和服務器在會話期間不存儲關于對方的信息。客戶機和服務器連接,服務器傳輸請求的信息,然后連接關閉。服務器不必知道關于客戶機的任何信息。它只提供請求的信息。
HTTP/1.0成為最重要的面向事務的應用層協議。在這個版本里,Web頁上的每個對象(例如圖像)要求建立一個新的連接以傳輸該對象。它的特點是簡單、易于管理,所以它符合了大家的需要,得到了廣泛的應用。缺點是對用戶請求響應慢、網絡擁塞嚴重、安全性低等。而HTTP 1.1版本增加了連續性,這使客戶機/服務器連接更有效。連續性允許客戶機和服務器保持連接(不為狀態所迷惑),直到傳輸完一個Web頁上的所有對象。然后連接關閉。
HTTP1.1版本也支持在瀏覽器中的高速緩沖存儲器管理。基本上,一個服務器頁對應于一個瀏覽器高速緩沖存儲器中的一頁,只發送需要更新的項。它嚴格全面,既可以減少時間延遲、又節省了帶寬。測試表明HTTP 1.1使下載次數改進了大約50%,且減少了超過50%的數據分組的數量。
HTTPl.1包括一個功能,即緩解了一些因特網IP地址耗盡的問題。一個在HTTP標題中的字段允許分配給單個IP地址多個域名。
另外,HTTP/1.1服務器端處理請求時按照收到的順序進行,這就保證了傳輸的正確性。當然,服務器端在發生連接中斷時,會自動的重傳請求,保證數據的完整性。
?
HTTP連接
HTTP是在客戶機和服務器之間建立通信且在這兩個系統之間傳遞信息的請求/響應協議。基于HTTP協議客戶/服務器模式的信息交換過程,它分為四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。HTML(現在是XML)是文檔格式化語言。當客戶在瀏覽器的地址字段里鍵入服務器的URL(或IP地址)時,HTTP協議定位該地址且建立一個到指定的Web服務器上的端口80(典型的)的連接。Web服務器自動地返回它的默認頁(通常是一個稱為HOME.HTML或INDEX.HTML的HTML文件)。圖H-3描述了該過程。
圖H-3 Web客戶機/服務器結構
當在Web瀏覽器里鍵入一個Web站點的地址(或單擊一個按鈕)時,連接過程就開始了。這是一個URL示例,它從白宮Web站點檢索名為info.html的文檔:
www.whitehose.gov/public/info.html
首先,在DNS(域名系統)服務器里查找這個Web站點的IP地址。名字轉換成IP地址,且IP地址返回到Web瀏覽器。然后,Web瀏覽器直接連接到位于該IP地址的Web服務器。
這時,服務器將對該URL的尾端( Public/Info.Html)作出相應。它在公共目錄里檢索info.html文件,并通過IP傳輸該文件到Web瀏覽器。然后,Web瀏覽器解釋文件里的HTML信息并顯示它。作為本過程的一部分,Web服務器可能給Web客戶機提供額外的信息,例如使用的HTTP版本、關于請求的狀態信息(找到項了嗎?)和定義媒體格式(文本、聲音、圖片、視頻等)的MIME(多用途因特網郵件擴充)類型。
HTTP安全連接
使用S-HTTP(安全HTTP)協議或SSL (安全套接層)可以確保HTTP的安全。安全會話加密信息以防止竊聽。確保會話安全通常需要用戶或Web站點有證書,該證書由認證機構(CA)如VeriSign(www.verisign.com)頒發。
S-HTTP是HTTP的安全版本, 是一種面向安全信息通信的協議,以和 HTTP 結合起來使用。 S-HTTP 能與 HTTP 信息模型共存并易于與 HTTP 應用程序相整合,并提供多種可以確保Web客戶和服務器之間事務安全的安全機制。S-HTTP保持了已有的HTTP事務處理模型。
S-HTTP 不需要客戶端公用密鑰認證(或公用密鑰),但它支持對稱密鑰的操作模式。
然而,Web瀏覽器供應商如Microsoft和NetscapeHowever從來沒有完全接受S-HTTP。一個類似的稱為SSL (安全套接層)協議反而更流行。SSL是一種在客戶端和服務器端之間建立安全通道的協議,提供同樣的身份驗證和加密功能,但是SSL增加了一個功能,即可以加密所有的在客戶機和服務器之間的IP套接層傳輸的數據,消除用戶的安全顧慮。
SSL 以對稱密碼技術和公開密碼技術相結合,可以實現如下三個通信目標:秘密性、完整性和認證性。
IETF的TLS (傳輸層安全)協議是一個類似SSL的協議,該協議由IETF的Transport Layer Security (tls,傳輸層安全)工作組開發。
RFC2617,″HTTP Authentication″(June,1999)提供了一個HTTP的身份驗證框架規范。RFC2818,″HTTP over TLS″(May, 2000)描述了如何使用TLS(傳輸層安全)以確保因特網上HTTP連接的安全。RFC2817,″Upgrading to TLS Within HTTp/1.1〞(May,2000)描述了在HTTP/l.1里如何使用升級機制以在已有的TCP連接上創建TLS。
HTTP開發
HTTP的不足之處使之在因特網上運行復雜的商業應用程序是困難的。Java和ActiveX已經提供了大量程序功能;但是,對于關鍵的商業事務,有必要保持高度的數據完整性、可靠性和安全性。在企業內聯網和企業外聯網上,這些是事務監視器可以處理的進程,但是使這樣的監視器在因特網上工作是個問題。
RFC2774,″An HTTP Extension Framework″(February,2000)描述如何用軟件組件動態擴展HTTP。其他兩個有趣的RFC包括RFC2964,〞Use of HTTP Management″(Oct.2000)和RFC2965, 〞HTTP State Management Mechanism〞(Oct.2000)。
一些供應商已經提出了基本上繞過HTTP的中間件解決方案。最初,用戶通過HTTP訪問Web服務器。下載一些初始的組件到用戶的系統,通過因特網在該客戶機和應用服務器之間提供中間件功能。基本上,在Web服務器完成設置用戶的工作后,就沒有它的工作了。所有進一步的交互是通過中間件直接在客戶機和應用服務器之間進行的。
RPC2756,″HyPe Text Caching Protocol″(Jan.2000)描述HTCP,一個關于搜索HTTP高速緩沖存儲器和高速緩存數據、管理各個HTTP高速緩沖存儲器組并且監視高速緩沖存儲器活動的協議。
“URN(通用資源名)”和“處理系統”主題描述“文檔連續性”(不要和前面描述的連接持續性混淆)。文檔連續性保證文檔查找不依賴于文檔的URL地址。換言之,即使文檔移到一個有不同URL的新地址,也可以找到由超級鏈接指定的目標文檔。
RFC2518,″HTTP Extensions for Distributed Authoring-WEBDAV〞(Feb.1999)描述了HTTP1.1協議的一個擴展,該擴展允許客戶執行遠程Web內容創作。
?非常好我支持^.^
(1) 100%
不好我反對
(0) 0%
相關閱讀:
( 發表人:admin )