- Java EE 程序設(shè)計
- 郝玉龍編著
- 698字
- 2019-07-01 10:16:03
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是無連接的。服務器并不會保持與客戶端的永久性連接。服務器只是在收到客戶端的請求后才會與客戶端建立起連接,一旦服務器生成響應并返回客戶端,服務器就將斷開與客戶端的連接。如果客戶端需要請求服務器上另外一個資源,則需要重新建立與服務器的連接。
- 零基礎(chǔ)學Visual C++第3版
- ASP.NET MVC4框架揭秘
- PowerCLI Cookbook
- 認識編程:以Python語言講透編程的本質(zhì)
- 軟件測試項目實戰(zhàn)之性能測試篇
- Neo4j Essentials
- Python程序設(shè)計
- Effective Python Penetration Testing
- Go并發(fā)編程實戰(zhàn)
- Learning FuelPHP for Effective PHP Development
- Clojure Reactive Programming
- Python機器學習:預測分析核心算法
- Machine Learning With Go
- 智能手機故障檢測與維修從入門到精通
- 嵌入式Linux C語言程序設(shè)計基礎(chǔ)教程