WWW伺服器講解 (1)

火星人 @ 2014-03-29 , reply:0



HTTP 1.1 協議

當歐洲高等物理實驗室開發出網頁伺服器時,當時是使用 HTTP 1.0 版通訊協議,市場上支持得最好的瀏覽器大概就是 Netscape Navigator及Communicator,Netscape 公司在產品成熟后緊接著推出 Gold 版開始收費販賣,在 Gold 版中他們提出了線上編輯網頁的概念(編好后要用 FTP 上傳就是了),為了實現這個概念必須要發展新的 HTTP 通訊協議,當然沒多久 Netscape 從市場消失,大家開始改用微軟公司的 IE 以及 FrontPage,微軟公司基於簡單易用的考量, 積极參与新版本 HTTP 通訊協議的制定,這就是後來我們看到的 HTTP 1.1。

HTTP 1.1 版通訊協議的改版幅度相當大,例如:增加檔案 zip 壓縮功能,增加 MD5 編密傳送功能......等等,其中對微軟公司最重要的就是,他們提案的 PUT 和 DELETE 指令被接受了,PUT 指令用來新增網頁、修改網頁內容或變更文件名,DELETE 指令則用來刪除網頁或目錄,透過這個機制就可以很容易用 HTTP 80 埠來直接更新網站內容,這就是微軟產品 FrontPage Server Extension 的目標,目前除了 FrontPage 支持 PUT、DELETE 指令外,還有 W3C 開發的 Winie 也可以用來上傳網頁(支持 Linux 平台,Server 端則由 Apache mod_put 負責)。底下簡要的說明 HTTP 1.1 版各個指令的用途:

指令 用途

OPTIONS 查詢或設定 URI 旗號,透過這個機制伺服器得以和瀏覽器協商傳輸資料時要不要壓縮、要不要 Cache ......等等

GET 取得網頁資料。必須使用絕對網址來要求資料,如果使用相對路徑,則必須以 Host: 標頭標示目的網址,這跟 1.0 版有很大的不同

HEAD 跟 GET 很像,但只會取得網頁標頭,不包含網頁內文(除錯用)

POST 取得網頁資料前,先上傳前一個網頁的窗體資料,POST 和 GET 的差別在於上傳資料的方式不同,使用 GET 可以在網址後方添加信息(?user=xxps&test=on......),但信息的量無法超過一行的限制,使用 POST 上傳沒有上限。POST 除了用來上傳窗體資料(上傳檔案)外,還可以:

為 Server 上的資料來源建立批註

提供資料給窗體中的動態數據鏈路項目(DataField)

新增資料到資料庫(通常是另一個網頁或純文字資料庫)

在 FrontPage 上可以製作這種進階窗體,在此不作詳細說明

PUT 當 PUT 指定的網頁不存在時,會自動新增網頁,否則就是要取代舊網頁或變更名稱

DELETE 刪除指定的網頁或空目錄

TRACE 用來做應用層的 loopback 追蹤,可以配合 OPTIONS 指定 Max-Forwards 來決定追蹤的深度,使用此指令將追蹤出所經過的 Proxy(除錯用)

CONNECT 是給 Proxy 伺服器用來建立 SSL 通道的,當瀏覽器透過 Proxy 使用 HTTPS 連上網頁時,需要在 Proxy 上建立 SSL 通道才能提供服務給 Client 端

了解 HTTP 響應狀態碼的涵義(RFC 2068),對於理解 Apache 伺服器的行為和運作機制有很大的幫助,同時當網頁出現狀況無法正常顯示時,瀏覽器也會秀出這些錯誤訊息,了解這些錯誤訊息您就可以判斷出問題的成因,因此在本文特地收錄了一般常見的各種狀態碼的表列,當作補充教材請學員細心閱讀。




[火星人 via ] WWW伺服器講解 (1)已經有547次圍觀

http://www.coctec.com/docs/linux/show-post-204724.html