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