在b/s
應用程式中,前台與後台的資料互動,都是通過
html
中form
表單完成的。
form
提供了兩種資料傳輸的方式——
get和
post
。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,
web容器已經遮蔽了二者的一些差異,但是了解二者的差異在以後的程式設計也會很有幫助的。
form
中的get
和post
方法,在資料傳輸過程中分別對應了
協議中的
get和
post
方法。二者主要區別如下: 1
、get
是用來從伺服器上獲得資料,而
post
是用來向伺服器上傳遞資料。2、
get將表單中資料的按照
variable=value
的形式,新增到
action
所指向的
url後面,並且兩者使用「
?」連線,而各個變數之間使用「
&」連線;
post
是將表單中的資料放在
form
的資料體中,按照變數和值相對應的方式,傳遞到
action
所指向url。
3、get是不安全的,因為在傳輸過程,資料被放在請求的
url中,
而如今現有的很多伺服器、**伺服器或者使用者**都會將請求
url記錄到日誌檔案中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。
post
的所有操作對使用者來說都是不可見的。 4
、get
傳輸的資料量小,這主要是因為受
url長度限制;而
post
可以傳輸大量的資料,所以在上傳檔案只能使用
post
(當然還有乙個原因,將在後面的提到)。 5
、get
限制form
表單的資料集的值必須為
ascii
字元;而
post
支援整個
iso10646
字符集。 6
、get
是form
的預設方法。
.post
傳輸資料時,不需要在
url中顯示出來,而
get方法要在
url中顯示。
*.post
傳輸的資料量大,可以達到
2m,而
get方法由於受到
url長度的限制
,只能傳遞大約
1024位元組.
*.post
顧名思義
,就是為了將資料傳送到伺服器段
,get
就是為了從伺服器段取得資料.而
get之所以也能傳送資料
,只是用來設計告訴伺服器
,你到底需要什麼樣的資料
.post
的資訊作為
請求的內容,而
get是在
頭部傳輸的。
7. 建議:除非你肯定你提交的資料可以一次性提交,否則請盡量用
post
方法建議:出於安全性考慮,建議最好使用
post
提交資料
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還有其...