1.get是從伺服器上擷取資料,post是向伺服器上傳資料。
2.get是把參數資料列加到提交表單的action屬性所指的url中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP POST機制,將表單內各個欄位與其內容放置在HTML header 內一起傳送到 action屬性所指的URL地址。使用者看不到這個過程。
3.對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。
4.get傳送的資料量較小。不能大於2kb(這主要是應為受URL長度限制),post傳送的資料量較大,一般被預設為不受限制。但理論上,限制取決於伺服器的處理能力。
5.get安全性較低,post安全性較高。因為get在傳送的過程,資料被放在請求的URL中,而如今享有的很多伺服器、Proxy 伺服器或者使用者代理程式都會將請求URL記錄到記錄檔中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息會一同顯示在使用者面前。post的所有操作對使用者來說都是不可見的。
6.在FORM提交的時候,如果不指定Method,則預設為get請求(.net預設是post),Form中提交的資料將會附加在RUL之後,以?分開URL分開。字母資料字元原樣發送,但空格轉換為“+”號,其它符號轉換為%xx,其中xx為該符號以16進位表示的ascii(或iso latin-1)值。get請求提交的資料放置在HTTP請求協議頭中,而post提交的資料則放在實體資料中;get方式提交的資料最多隻能有2048位元組,而post則美譽寫限制。post傳遞的參數在doc裡,也就http協議所傳遞的文本,接受時再解析參數部分。獲得參數。一般用post比較好。post提交資料是隱式的,get是通過在URL裡面傳遞的,用來傳遞一些不需要保密的資料,get是通過的URL裡傳遞參數,post不是。