官术网_书友最值得收藏!

3.1 Web應用模型

Java EE企業(yè)應用最常見的場景就是處理Web請求并生成動態(tài)響應。因此Java EE學習之旅的第一站自然從Java EE的Web組件Servlet開始。不過在學習Servlet編程之前,開發(fā)人員應該首先了解Web應用是如何工作的。

所謂Web應用,指的是可通過Web訪問的應用程序,如門戶網(wǎng)站等。區(qū)別于在計算機本地運行的桌面應用如Word、Excel等,Web應用由客戶端和服務器兩部分組成,二者通過HTTP協(xié)議進行交互,如圖3-1所示。

圖3-1 Web應用模型

HTTP是Web應用最常用的協(xié)議。最廣泛使用的HTTP版本是1.1,它工作在請求響應模式下,一次請求處理流程包含如下四個步驟。

(1)客戶端向服務器發(fā)送一個請求,請求頭部包含請求的方法、URI、協(xié)議版本,以及包含請求修飾符、客戶端信息和內(nèi)容的類似MIME的消息結(jié)果。

(2)服務器接收到請求信息后建立與客戶端的連接。

(3)服務器對客戶端提交的請求信息進行處理,并最終返回一個響應,內(nèi)容包括消息協(xié)議的版本、成功或失敗編碼加上包含服務器信息、實體元信息以及其他內(nèi)容。

(4)服務器斷開與客戶端的連接。

如果客戶端需要再次向服務器請求信息,則進入如上所示新一輪的處理流程。

對于HTTP 1.1協(xié)議有以下兩個特性開發(fā)人員必須要牢記:

(1)HTTP協(xié)議是無狀態(tài)的。服務器并不會記錄和保存客戶端的任何信息。也就是說,同一用戶在第二次訪問同一服務器上的頁面時,服務器的響應過程與第一次被訪問時相同。至于服務器如何處理來自同一客戶端的請求,將在3.7節(jié)進行深入講解。

(2)HTTP是無連接的。服務器并不會保持與客戶端的永久性連接。服務器只是在收到客戶端的請求后才會與客戶端建立起連接,一旦服務器生成響應并返回客戶端,服務器就將斷開與客戶端的連接。如果客戶端需要請求服務器上另外一個資源,則需要重新建立與服務器的連接。

主站蜘蛛池模板: 宁河县| 黄石市| 循化| 隆昌县| 齐齐哈尔市| 延吉市| 万宁市| 湟源县| 逊克县| 上虞市| 汝城县| 扬中市| 商水县| 琼结县| 石家庄市| 洛阳市| 麻城市| 三门峡市| 汝州市| 萝北县| 大洼县| 沿河| 岳池县| 灵山县| 旌德县| 乐清市| 班玛县| 子长县| 夏邑县| 禹州市| 博兴县| 武强县| 蒙山县| 鹰潭市| 蒙山县| 横山县| 大宁县| 中宁县| 东港市| 榆林市| 苏尼特右旗|