HTTP中get和post的區別

2021-07-16 16:38:27 字數 1738 閱讀 5972

在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還有其...