轉自:https://blog.csdn.net/yuming226/article/details/80190662html
導讀】JSP和HTML有着本質的區別:web
【導讀】JSP和HTML有着本質的區別:後端
瀏覽器與服務器交互的過程
當咱們打開瀏覽器,在瀏覽器的地址欄中輸入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的版本。
五、瀏覽器作完上面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>