Java Web的工作原理

很多時候我們都想知道,web容器或web服務器(比如Tomcat或者jboss)是怎樣工作的?它們是怎樣處理來自全世界的http請求的?它們在幕後做了什麼動作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session這些類)在其中扮演了什麼角色?這些都是web應用開發者或者想成為web應用開發者的人必須要知道的重要問題或概念。在這篇文章裡,我將會盡量給出以上某些問題的答案。請集中精神!

http的處理流程

目錄結構

瀏覽器本身它是一個客戶端,當輸入URL地址的時候,瀏覽器首先會去請求DNS服務器,通過DNS查詢獲取相應的域名所對應的IP地址,然後通過這個映射的IP地址找到IP對應的服務器,並建立連接,等瀏覽器發送完HTTP Request(請求)包後,服務器接收到請求包之後才開始處理,返回HTTP Response(響應)包,客戶端瀏覽器收到來自服務器的響應後就開始渲染這個Response包裡的主體(body)部分,等收到全部的內容後斷開與該服務器之間的連接。

Java Web的工作原理

1)客戶端向Web服務器發起一個HTTP請求。

2)HTTP請求被Web服務器接受,如果請求的是靜態頁面,則由Web服務器負責處理。如果請求的是Java Web組件(Servlet或者JSP),則移交給Web容器。Web容器可以在主機的同一個進程、不同的進程或其他的Web服務主機的進程中啟動。

3)Web容器根據Servlet的配置文件確定調用的具體Servlet類,並把request對象、response對象傳給它。

4)Servlet通過request對象知道客戶端的使用者是誰,客戶的請求信息是什麼和其他的一些信息。Servlet處理完請求後把要返回的信息放入response對象返回到客戶端。

Java Web的工作原理

5)一旦Servlet完成了請求的處理,Web容器就會刷新response,把控制權返回給web服務器。

尚學堂立志解決中國教育不公平和低效率問題,幫助千千萬萬被傳統教育方式耽誤的人,傳授實用、前沿的知識,成就學員個人理想,為愛你的人和你愛的人創造美好的生活。尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生。


分享到:


相關文章: