更新時(shí)間:2020-03-10 09:41:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽8161次
很多時(shí)候我們都想知道,web容器或web服務(wù)器(比如Tomcat或者jboss)是怎樣工作的?它們是怎樣處理來自全世界的http請求的?它們在幕后做了什么動(dòng)作?JavaServletAPI(例如ServletContext,ServletRequest,ServletResponse和Session這些類)在其中扮演了什么角色?這些都是web應(yīng)用開發(fā)者或者想成為web應(yīng)用開發(fā)者的人必須要知道的重要問題或概念。在這篇文章里,小編將會(huì)盡量給出以上某些問題的答案。請集中精神!
http的處理流程
目錄結(jié)構(gòu)
瀏覽器本身它是一個(gè)客戶端,當(dāng)輸入U(xiǎn)RL地址的時(shí)候,瀏覽器首先會(huì)去請求DNS服務(wù)器,通過DNS查詢獲取相應(yīng)的域名所對應(yīng)的IP地址,然后通過這個(gè)映射的IP地址找到IP對應(yīng)的服務(wù)器,并建立連接,等瀏覽器發(fā)送完HTTPRequest(請求)包后,服務(wù)器接收到請求包之后才開始處理,返回HTTPResponse(響應(yīng))包,客戶端瀏覽器收到來自服務(wù)器的響應(yīng)后就開始渲染這個(gè)Response包里的主體(body)部分,等收到全部的內(nèi)容后斷開與該服務(wù)器之間的連接。
1)客戶端向Web服務(wù)器發(fā)起一個(gè)HTTP請求。
2)HTTP請求被Web服務(wù)器接受,如果請求的是靜態(tài)頁面,則由Web服務(wù)器負(fù)責(zé)處理。如果請求的是JavaWeb組件(Servlet或者JSP),則移交給Web容器。Web容器可以在主機(jī)的同一個(gè)進(jìn)程、不同的進(jìn)程或其他的Web服務(wù)主機(jī)的進(jìn)程中啟動(dòng)。
3)Web容器根據(jù)Servlet的配置文件確定調(diào)用的具體Servlet類,并把request對象、response對象傳給它。
4)Servlet通過request對象知道客戶端的使用者是誰,客戶的請求信息是什么和其他的一些信息。Servlet處理完請求后把要返回的信息放入response對象返回到客戶端。
5)一旦Servlet完成了請求的處理,Web容器就會(huì)刷新response,把控制權(quán)返回給web服務(wù)器。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Javaweb原理菜鳥教程”的內(nèi)容,希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級 202925
初級 203221
初級 202629
初級 203743