Get和Post的區別
Get和Post的區別
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中,而如今享有的很多服務器、代理服務器或者用戶代理都會將請求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不是。
希望對你有幫助。
【編輯推薦】