Ajax中Post和Get的區別

當我們像服務器發送數據時,我們可以採用get或者post,但是什麼時候用get?什麼時候用post?並且兩者有什麼區別麼?

Get請求和Post請求的區別


1、使用get的時候,參數會在url後面傳遞數據,而post不會顯示,因爲post請求是最爲http消息的實體內容發送給web服務器。這種區別對於用戶是不可見的。

2、get請求發送數據量小(最多也就1024字節),post請求發送數據量大。

爲什麼說get請求數據量小呢?

因爲get是通過url提交數據,那麼get可提交的數據量跟url的長度有直接的關係,而實際上url不存在參數上限的問題,而這個限制是瀏覽器及服務器對它的限制。限制的大小取決於操作系統的支持,注意限制是整個url的長度,而不僅僅是你的參數值數據長度。

3、get的安全性非常低,post安全性較高。
原因:get的請求的數據會被瀏覽器緩存,其他人可以從瀏覽器的歷史記錄讀取到這些記錄,例如賬號和密碼。相對於post,可以避免這些問題。

4、在客戶端使用get請求時,服務器端使用Request.QueryString來獲取參數,而客戶端使用post請求時,服務器端使用Request.Form來獲取參數。

5、Get請求的目的是給予服務器一些參數,以便從服務器獲取列表。例如:list.aspx?page=1,表示獲取第一頁的數據;Post請求的目的是向服務器發送一些參數,例如form中的內容。

何時用post請求?何時用get請求?


若符合下列任一情況,則用POST方法:

  • 請求的結果有持續性的副作用,例如,數據庫內添加新的數據行。
  • 若使用GET方法,則表單上收集的數據可能讓URL過長。
  • 要傳送的數據不是採用7位的ASCII編碼。
  • POST方式傳遞的數據量,不受限制。

若符合下列任一情況,則用GET方法:

  • 請求是爲了查找資源,HTML表單數據僅用來幫助搜索。
  • 請求結果無持續性的副作用。
  • 收集的數據及HTML表單內的輸入字段名稱的總長不超過1024個字符。
  • 通常不能大於2KB
發佈了21 篇原創文章 · 獲贊 27 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章