HTTP 協(xié)議定義服務器端和客戶端之間文件傳輸?shù)臏贤ǚ绞?。目前HTTP協(xié)議的版本是Http1.1,。RFC 2616描述了HTTP協(xié)議的具體信息。
這個協(xié)議已經(jīng)成為瀏覽器和Web站點之間的標準,。 當我上網(wǎng)的時候底層是如何進行交互的,? 當訪問者點擊一個超鏈接的時候,將會給瀏覽器提交一個URL地址,。通過這個URL地址,,瀏覽器便知道去鏈接那個網(wǎng)站并去取得具體的頁面文件(也可能是一張圖片,,一個pdf文件)。 HTTP工作的基礎就是,,連接一個服務器并開始傳輸文件到瀏覽器,。 HTTP傳輸?shù)幕具^程 在http傳輸?shù)倪^程中,被稱為客戶端的請求者向服務器請求一個文件,。 最基本的過程是: 1 客戶端連接一個主機,; 2 服務器接收連接, 3 客戶端請求一個文件, 4 服務器發(fā)送一個應答. 實例 我們看幾個典型的過程 首先,我們想訪問本頁面,。在瀏覽器上敲入“http://www./resource/rs_041112_02.php”.瀏覽器將連接www.然后發(fā)送: >> GET /resource/rs_041112_02.php Http1.1 >> Host: www. >> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, >> Accept-Language: en >> Accept-Encoding: gzip, deflate >> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10 >> Connection: Keep-Alive >> 解釋:瀏覽器請求頁面“/resource/rs_041112_02.php”,。并使用HTTP1.1協(xié)議。并告訴服務器你的瀏覽器是Firefox0.10,。操作系統(tǒng)是Windows XP,。 瀏覽器希望保持與www.之間的連接,并請求獲得多的文件,,包括網(wǎng)頁中的圖片,。翻譯成語言上面是: >> 用HTTP1.1協(xié)議獲得 /resource/rs_041112_02.php >> 訪問的主機是: www. >> 接收的文件包括了: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, >> 使用的語言是: en >> 接收的編碼方式(瀏覽器能夠解釋的)是: gzip, deflate >> 用戶的瀏覽器信息:Windows XP的操作系統(tǒng) Firefox/0.10的瀏覽器 >> 保持連接: 還要去圖片 >> www.的服務器發(fā)出響應: << HTTP/1.1 200 OK << Date: Mon, 12 Mar 2004 19:12:16 GMT << Server: Apache/1.3.31 (Unix) mod_throttle/3.1.2 << Last-Modified: Fri, 22 Sep 2004 14:16:18 << ETag: "dd7b6e-d29-39cb69b2" << Accept-Ranges: bytes << Content-Length: 3369 << Connection: close << Content-Type: text/html << << File content goes here 瀏覽器并從服務器的響應中獲得服務器的信息:比如運行在Apache。 上面翻譯成翻譯成語言上面就是RFC 2616 (摘自:http://www./resource/rs_041112_02.php) << HTTP1.1協(xié)議方式有效 << 當前時間是: Mon, 12 Mar 2004 19:12:16 GMT << 服務器是: Apache/1.3.31 (Unix) mod_throttle/3.1.2 << 最后一次修改: Fri, 22 Sep 2004 14:16:18 << ETag: "dd7b6e-d29-39cb69b2" << Accept-Ranges: bytes << Content-Length: 3369 << Connection: close << Content-Type: text/html << << File content goes here 上面例子就是最簡單的交互過程描述,,需要對HTTP協(xié)議中具體的命令了解,,就需要閱讀 - 作者: trueman 2005年09月4日, 星期日 20:31 回復(0) | 引用(0) 加入博采 HTTP――網(wǎng)海之舟 HTTP(超文本傳輸協(xié)議,Hyper-Text Transport Protocol )是用于在互聯(lián) 網(wǎng)上傳輸超文本文件的協(xié)議,。它對一個HTTP客戶程序和一個HTTP服務程序進行端 對端的連接,。HTTP是在WWW (WWW )上所應用的最重要的協(xié)議。 它是Web 自己的協(xié)議,,用來從一個HTTP服務器上檢索信息,。這可以是用HTML 寫的文本文件,靜態(tài)圖象,,聲音文件,,動畫視頻或僅是簡單的文本文件:HTTP服 務器知道怎樣識別文件類型,并通過線路在傳輸之前告訴你的瀏覽器將要傳來什 么樣的文件,,以便瀏覽器知道如何對待。 HTTP是Web 技術中的一個最基本的協(xié)議,,它是一個應用層協(xié)議,,直接用TCP 層傳遞。整個協(xié)議的通信過程十分簡單,。 為了要講清HTTP傳送一個文件的通信過程,,首先有必要來重申一下URL 的概 念。URL (Uniform Resource Locator)的中文意思為統(tǒng)一資源定位器,,它是用 來確定在IP網(wǎng)上Web 系統(tǒng)信息資源的位置的,,URL 從結構上講很有點像計算機中 的文件名,,例如下面就是一個URL. http://info.cern/hypertext/Geo.html 這個URL 實際上要找的是Geo.html文件,前面都是路徑名,。在Web 系統(tǒng)中,, 就是用URL 來尋找相應文件的。當然實際上URL 還可以有復雜的形式并可帶各種 相關參數(shù),。在基本了解了URL 后,,就可以來看HTTP是怎樣工作的了。當客戶機向 服務器請求一個文件時,,首先要建立一條TCP 連接,,在TCP 連接好后,客戶機就 向服務器發(fā)送URL ,,讓服務器根據(jù)URL 去尋找相應的文件,,找到文件后就從已建 立好的TCP 通道上發(fā)給客戶機,文件發(fā)送完畢即拆除TCP 連接,。當要尋找另一個 文件時,,需要重復上述過程。 從上述過程可以看出,,HTTP協(xié)議十分簡單,。使用HTTP后,服務器需要做的事 只是接受一個請求(URL ),,根據(jù)用戶的請求發(fā)送相應文件,,服務器不要做任何 檢索軌跡的記錄,從而使一個服務器支持的用戶數(shù)大為增加,。但HTTP也有不少缺 點,,因為其簡單,每傳一個文件就要建一次TCP 連接,、拆除一次TCP 連接,,當要 傳送的文件很小時就非常不合算了。另外由于服務器不能保留檢索軌跡,,因而為 口令記憶等帶來了很大的麻煩,,導致系統(tǒng)效率下降。 |
|