一、基本概念
1、路由
當我們在地址欄輸入一個url回車確認后,就是通過路由的方式去找到處理這個url的程序,```
######2、html頁面渲染
```加載: 根據url通過路由向服務器發送請求,接收到數據。
解析: 對加載到的資源進行語法解析(html的DOM樹,js的行為,css的樣式,標準標簽庫JSTL的各種行為標簽)。
渲染: 構建渲染樹,將解析出來的元素對頁面進行渲染。```
######3、jsp
```屬于后臺的一種模板引擎,用于生成特定格式的文檔,在web項目中,為了將用戶界面與業務數據分開寫而引入,用于生成html。```
######4、dns( Domain Name System )
```域名解析系統,將地址欄輸入的域名解析成ip地址(注: 一個域名可解析出多個ip, 即一個域名對應多個ip地址)。
修改dns實際上就是換一個域名解析系統,得到與之前不同的ip地址,從而獲得便利。```
######5、http請求方法
```五個主要方法 get post put delete head 即對應的是查改增刪查,最后的head是一種特殊的查詢請求,只傳輸url的head部分,不傳輸實體(body)本身。```
*※get post的區別*
```get: get請求方法的數據會跟在url后面( 把數據放在http協議的head里 ),數據寫在?后面,多個參數用&連接,是一種向服務器索取數據的請求
post: 提交的數據最多只能是1024個字節,需要傳遞的參數不寫url里,通過請求對象的getParameter方法拿,是一種向數據庫提交數據的請求。```
***
>冪等
*對同一個url的多次請求要返回相同的結果,即不會對數據庫產生副作用*
(1)get 用于獲取數據,多次操作不會對數據庫造成壞影響,所以是冪等
(2)**post 不是冪等 當我們一個url請求兩次使用post時,有可能會創建出兩份數據,比如我有一個評論功能,用戶兩次提交這個評論,此時請求的url是一樣的,但是每一次數據庫都會多一個評論**
(3)delete 是冪等,因為我刪除一個數據,刪一次也是刪這一個刪沒了,刪10次這個數據他還是沒有了,始終是這一條數據,對數據庫沒有副作用。
(4)put 是冪等 對同一id的一條數據修改10次,數據庫里面依然還是有這么一條數據,沒副作用。
***
####二、實際用途
*如:*
```地址欄輸入 http://localhost:8080/OnlineOrder/index
通過get方法向服務器請求該url
通過路由url找到服務器上處理這個url的servlet index
加載這個servlet以及這個servlet內部轉發的jsp,獲得html, css, js. list集合等等
解析得到的這些數據
渲染jsp這個模板引擎生成的html,也就是呈現在我們瀏覽器上的頁面。```
```小貼士```
google瀏覽器里面右鍵,點擊檢查,點擊network,再刷新頁面可查看url請求的方法。

最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。