http中get和post的區別

2021-08-29 16:04:44 字數 1665 閱讀 6810

一般在瀏覽器中輸入**訪問資源都是通過get方式;在from提交中,可以通過method制定提交方式為get或者post,預設為get提交;http定義了與伺服器互動的不同方法,最基本的方法有4鐘:分別是get,post,put和delete。

url全稱是資源描述符,我們可以這樣認為,乙個url位址,她用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。

根據http規範,get用於資訊獲取,而且應該是安全的(是指沒有明顯的對使用者有影響的***(包括修改該資源的狀態))和冪等的(乙個方法不論進行多少次操作,結果都是一樣的,比如,雖然put(把內容放到指定url)和delete(刪除某個url代表的資源)都修改了資源內容,但多次操作,結果都是相同的,因此說,get是冪等的)。

通常我們說post的安全性要比get的安全性高(這裡提到的安全性和上面get提到的安全是不同的概念。上面get中的安全的含義僅僅是不作資料修改,而這裡安全的含義是真正的security的含義)。比如,通過get提交資料,使用者名稱和密碼將明文出現在url上,比如有乙個常見的url:login.action?name=hyddd&password=idontknow&verify=%e4%bd%a0 %e5%a5%bd,通過這個url我們就知道該使用者的使用者名稱是:hyddd,密碼是idontknow。但是就因為這個原因說 post 比 get 安全是錯的,因為post和get都是明文傳輸,用httpfox等外掛程式,或者像wireshark 等類似工具就能觀察到。

post和get的差別其實是很大的,語義上,get是獲取指定url的資源,是讀操作,重要的一點是不論對某個資源get多少次,它的狀態是不會改變的,在這個意義上,我們說get是安全的。因為get是安全的,所以get返回的內容可以被瀏覽器,cache伺服器快取起來。 而post的語義是對指定資源追加或者新增資料,所以是並不安全的,每次提交的post,參與的**都會認為這個操作會修改操作物件資源的狀態。於是,瀏覽器在你按下f5的時候就會跳出確認框,快取伺服器不會快取post請求返回的內容。

所以,做乙個總結,http中get和post的區別:

(1)get用於資訊的獲取,是安全的和冪等的;而post用於對資訊的新增或者追加,是不安全的,也是不冪等的;、

(2)get返回的內容可以被瀏覽器你和cache伺服器快取下來;而post返回的內容不會被快取下來;

(3)下面比較了get和post方法的一些區別

getpost

後退、重新整理按鈕

無害資料會被重新提交(瀏覽器應該告知使用者資料會被重新提交)

書籤可收藏為書籤

不可收藏為書籤

快取可以被快取

不可以被快取

編碼型別

為二進位制資料使用的多重編碼

歷史引數保留在瀏覽器歷史中

引數不會儲存在瀏覽器歷史中

對資料長度的限制

是的,當傳送資料時,get方法向url新增資料;url的長度是受限制的。(最大長度為2048)

無限制對資料型別的限制

只允許ascii碼

沒有限制,也允許二進位制資料

安全性與post相比,get的安全性較差,因為所傳送的資料時url的一部分。在傳送密碼或者其他敏感資訊時絕對不要使用get

post比get更安全,因為引數不會被儲存在瀏覽器歷史或web伺服器日誌中。

可見性資料在yrl中對所有人都是可見的

資料不會顯示在url中

SpringMVC中post和get的區別

這是一篇我在csdn上的第一篇部落格,請大家多多支援。在前面我先宣告 這篇文章的內容基本上都是網上各部落格的,我只是整理一下,給需要的人梳理一下而已。首先先放個人覺得比較好的關於post和get的區別的分析的鏈結 在講區別前先講一下 requestbody。requestbody主要用來接收前端傳遞...

在http請求中,get和post有什麼區別

世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。get?post?在做 開發時,大家經常會使用http的get與post方法,但是這兩個method有什麼區別呢?在說區別之前,大家要明白一點,get和post都是基於http協議的,所以本質上是一致的。因此區別是...

HTTP中get和post區別

記得剛開始學習web技術的時候老師教我們的get和post區別是什麼 1.get用於獲取資料 post用於提交資料 2.get攜帶的資料大小比post少 3.get不安全 post安全 當開始找工作的時候面試官問我這倆的區別的時候我很自信的重複了之前老師講的區別 面試官問 除了get和post還有其...