JavaWeb------瀏覽器與服務器交互的過程

轉自:https://blog.csdn.net/yuming226/article/details/80190662html

導讀】JSP和HTML有着本質的區別:web

  • HTML網頁是靜態,這些網頁早就存放在Web服務器的Web容器中。經過HTTP寫協議訪問時,Web服務器只是簡單的把該網頁發回給瀏覽器進行顯示。
  • JSP網頁的內容是動態的,其內容事先並無固定。訪問JSP頁面時,Web服務器把該請求轉發給後端 的JSP容器,JSP容器把該JSP編譯成Servlet,而後轉發到Servlet容器,並運行這個Servlet,產生的輸出造成一個網頁,再由Web容器發回給瀏覽器顯示。
  • 【導讀】JSP和HTML有着本質的區別:後端

    • HTML網頁是靜態,這些網頁早就存放在Web服務器的Web容器中。經過HTTP寫協議訪問時,Web服務器只是簡單的把該網頁發回給瀏覽器進行顯示。
    • JSP網頁的內容是動態的,其內容事先並無固定。訪問JSP頁面時,Web服務器把該請求轉發給後端 的JSP容器,JSP容器把該JSP編譯成Servlet,而後轉發到Servlet容器,並運行這個Servlet,產生的輸出造成一個網頁,再由Web容器發回給瀏覽器顯示。

    瀏覽器與服務器交互的過程 
    這裏寫圖片描述 
    當咱們打開瀏覽器,在瀏覽器的地址欄中輸入URL地址」http://www.gacl.cn:8080/JavaWebDemo1/1.jsp「去訪問服務器上的1.jsp這個web資源的過程當中,瀏覽器和服務器都作了神馬操做呢,咱們是怎麼在瀏覽器裏面看到1.jsp這個web資源裏面的內容的呢?瀏覽器

    瀏覽器和服務器作了如下幾個操做:服務器

    一、瀏覽器根據主機名」www.gacl.cn」去操做系統的Hosts文件中查找主機名對應的IP地址。 
    二、瀏覽器若是在操做系統的Hosts文件中沒有找到對應的IP地址,就去互聯網上的DNS服務器上查找」www.gacl.cn」這臺主機對應的IP地址。 
    三、瀏覽器查找到」www.gacl.cn」這臺主機對應的IP地址後,就使用IP地址鏈接到Web服務器。 
    四、瀏覽器鏈接到web服務器後,就使用http協議向服務器發送請求,發送請求的過程當中,瀏覽器會向Web服務器以Stream(流)的形式傳輸數據,告訴Web服務器要訪問服務器裏面的哪一個Web應用下的Web資源,以下圖所示: 
    這裏寫圖片描述 
    這就是瀏覽器向Web服務器發請求時向服務器傳輸的數據,解釋一下」GET /JavaWebDemo1/1.jsp HTTP/1.1」這裏面的內容,jsp

    GET:告訴Web服務器,瀏覽器是以GET的方式向服務器發請求。 /JavaWebDemo1/1.jsp:告訴Web服務器,瀏覽器要訪問JavaWebDemo1應用裏面的1.jsp這個Web資源。 HTTP/1.1:告訴Web服務器,瀏覽器是以HTTP協議請求的,使用的是1.1的版本。
    • 1
    • 2
    • 3

    五、瀏覽器作完上面4步工做後,就開始等待,等待Web服務器把本身想要訪問的1.jsp這個Web資源傳輸給它。spa

    六、服務器接收到瀏覽器傳輸的數據後,開始解析接收到的數據,服務器解析」GET /JavaWebDemo1/1.jsp HTTP/1.1」裏面的內容時知道客戶端瀏覽器要訪問的是JavaWebDemo1應用裏面的1.jsp這個Web資源,而後服務器就去讀取1.jsp這個Web資源裏面的內容,將讀到的內容再以Stream(流)的形式傳輸給瀏覽器,以下圖所示: 
    這裏寫圖片描述 
    這個就是Web服務器傳輸給瀏覽器的數據。操作系統

    七、瀏覽器拿到服務器傳輸給它的數據以後,就能夠把數據展示給用戶看了.net

    服務器發送回來的數據:code

    HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=ISO-8859-1 Content-Length: 102 Date: Mon, 19 May 2014 14:25:14 GMT <html> <head> <title>JavaWebDemo1</title> </head> <body> JavaWebDemo1 </body> </html>
相關文章
相關標籤/搜索