HTTP POST GET 原理區別

2021-05-27 05:22:03 字數 976 閱讀 8285

一般在瀏覽器中輸入**訪問資源都是通過get方式;在form提交中,可以通過method指定提交方式為get或者post,預設為get提交

http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete

url全稱是資源描述符,我們可以這樣認為:乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查 ,改 ,增 ,刪 4個操作。到這裡,大家應該有個大概的了解了,get一般用於獲取/查詢 資源資訊,而post一般用於更新 資源資訊(個人認為這是get和post的本質區別,也是協議設計者的本意,其它區別都是具體表現形式的差異 )。

根據http規範,get用於資訊獲取,而且應該是安全的和冪等的。

1.所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,get請求一般不應產生***。就是說,它僅僅是獲取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。

* 注意:這裡安全的含義僅僅是指是非修改資訊。

2.冪等的意味著對同一url的多個請求應該返回同樣的結果。

上面大概說了一下http規範中,get和post的一些原理性的問題。但在實際的做的時候,很多人卻沒有按照http規範去做,導致這個問題的原因有很多,比如說:

1.很多人貪方便,更新資源時用了get,因為用post必須要到form(表單),這樣會麻煩一點。

2.對資源的增,刪,改,查操作,其實都可以通過get/post完成,不需要用到put和delete。

3.另外乙個是,早期的但是web mvc框架設計者們並沒有有意識地將url當作抽象的資源來看待和設計 。還有乙個較為嚴重的問題是傳統的web mvc框架基本上都只支援get和post兩種http方法,而不支援put和delete方法。

* 簡單解釋一下mvc:mvc本來是存在於desktop程式中的,m是指資料模型,v是指使用者介面,c則是控制器。使用mvc的目的是將m和v的實現**分離,從而使同乙個程式可以使用不同的表現形式。

HTTP POST GET 本質區別

http協議定義了與伺服器互動的不同方法,最基本的4種 get post put delete url,即資源描述符,描述網路上的乙個資源,上面的4種方法就對應著對這個資源的查,改,增,刪。get一般用於獲取 查詢資源資訊,post一般用於更新資源資訊。這是協議設計的規範要求,但是實際中,由於種種原...

HTTP POST GET 本質區別詳解

一 原理區別 一般在瀏覽器中輸入 訪問資源都是通過get方式 在form提交中,可以通過method指定提交方式為get或者post,預設為get提交 http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete url全稱是資源描述符,我們可以這樣認為 乙...

HTTP POST GET 本質區別詳解

http post get 本質區別詳解 從http get和post的區別說起 一般在瀏覽器中輸入 訪問資源都是通過get方式 在form提交中,可以通過method指定提交方式為get或者post,預設為get提交。http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post...