AJAX的POST和GET請求的區別

2021-09-11 10:57:02 字數 1128 閱讀 1218

get和post都是向伺服器傳送的一種請求,只是傳送機制不同。

1.get請求會將引數跟在url後進行傳遞,而post請求則是作為http訊息的實體內容傳送給web伺服器。當然在ajax請求中,這種區別對使用者是不可見的。

2. 首先是"get方式提交的資料最多只能是1024位元組",因為get是通過url提交資料,那麼get可提交的資料量就跟url的長度有直接關係了。而實際上,url不存在引數上限的問題,http協議規範沒有對url長度進行限制。這個限制是特定的瀏覽器及伺服器對它的限制。ie對url長度的限制是2083位元組(2k+35)。對於其他瀏覽器,如netscape、firefox等,理論上沒有長度限制,其限制取決於作業系統的支援。注意這是限制是整個url長度,而不僅僅是你的引數值資料長度。

3.get方式請求的資料會被瀏覽器快取起來,因此其他人就可以從瀏覽器的歷史記錄中讀取到這些資料,例如賬號和密碼等。在某種情況下,get方式會帶來嚴重的安全問題。而post方式相對來說就可以避免這些問題。

get請求和post請求在伺服器端的區別:

4. 在客戶端使用get請求時,伺服器端使用request.querystring來獲取引數,而客戶端使用post請求時,伺服器端使用request.form來獲取引數.

http標準包含這兩種方法是為了達到不同的目的。post用於建立資源,資源的內容會被編入http請示的內容中。例如,處理訂貨表單、在資料庫中加入新資料行等。

當請求無***時(如進行搜尋),便可使用get方法;當請求有***時(如新增資料行),則用post方法。乙個比較實際的問題是:get方法可能會產生很長的url,或許會超過某些瀏覽器與伺服器對url長度的限制。

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

* 請求的結果有持續性的***,例如,資料庫內新增新的資料行。

* 若使用get方法,則表單上收集的資料可能讓url過長。

* 要傳送的資料不是採用7位的ascii編碼。

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

* 請求是為了查詢資源,html表單資料僅用來幫助搜尋。

* 請求結果無持續性的***。

* 收集的資料及html表單內的輸入欄位名稱的總長不超過1024個字元。

ajax的GET和POST請求

get請求時最常見的請求型別,用於向伺服器查詢資訊,必要時可以將查詢字串引數放在url尾部傳送給伺服器,如果引數有特殊字元必須正確編碼。我們上面使用的例子都是使用get請求,非常簡單,向伺服器詢問資料,然後處理資料。post請求用於把資料作為主體向伺服器提交,post請求主體可以包含多種格式資料,在...

AJAX的get和post請求詳解

一 get 和post 基本區別 1.get 是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看...

Ajax請求中post和get的區別

http請求3個組成部分與xmlhttprequest方法的對應關係 1 請求行 2 請求頭 get 請求可以不設定 3 請求主體 建立乙個非同步 設定請求行 open 請求方法,請求url get請求如果有引數就需要在url後面拼接引數 post請求在請求體中傳遞 xhr.open get ind...