用Java實現Web服務器
HTTP協議簡介
超文本傳輸協議(HTTP)是位于TCP/IP 協議的應用層,是最廣為人知的協議,也是互連網中最核心的協議之一,同樣,HTTP 也是基于 C/S 或 B/S 模型實現的。事實上,我們使用的瀏覽器如Netscape 或IE 是實現HTTP 協議中的客戶端,而一些常用的Web 服務器軟件如Apache、IIS 和iPlanet Web Server 等是實現HTTP 協議中的服務器端。Web 頁由服務端資源定位,傳輸到瀏覽器,經過瀏覽器的解釋后,被客戶所看到。
Web 的工作基于客戶機/服務器計算模型,由Web 瀏覽器(客戶機)和Web服務器(服務器)構成,兩者之間采用超文本傳送協議(HTTP)進行通信。HTTP協議是Web瀏覽器和Web服務器之間的應用層協議,是通用的、無狀態的、面向對象的協議。
一個完整的HTTP協議會話過程包括四個步驟:
◆ 連接,Web瀏覽器與Web服務器建立連接,打開一個稱為Socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功;
◆ 請求,Web瀏覽器通過Socket向Web服務器提交請求。HTTP的請求一般是GET或POST命令(POST用于FORM參數的傳遞);
◆ 應答,Web瀏覽器提交請求后,通過HTTP協議傳送給Web服務器。Web服務器接到后,進行事務處理,處理結果又通過HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請求的頁面;
◆ 關閉連接,應答結束后Web瀏覽器與Web服務器必須斷開,以保證其它Web瀏覽器能夠與Web服務器建立連接。