溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

淺析GET與POST

發(fā)布時間:2020-06-20 03:24:24 來源:網(wǎng)絡(luò) 閱讀:389 作者:LOVEMERIGHT 欄目:網(wǎng)絡(luò)安全

1、GET、POST

兩者是HTTP請求報文的方法,除此之外還有OPTION、HEAD、PUT、DELETE、TRACE、CONNECT。

GET:請求讀取由URL(統(tǒng)一資源定位符)所標(biāo)志的信息

POST:給服務(wù)器添加信息


1)根據(jù)HTTP規(guī)范,GET用于信息獲取,而且應(yīng)該是安全的和冪等的。

(1)所謂安全的意味著該操作用于獲取信息而非修改信息。換句話說,GET 請求一般不應(yīng)產(chǎn)生副作用。就是說,它僅僅是獲取資源信息,就像數(shù)據(jù)庫查詢一樣,不會修改,增加數(shù)據(jù),不會影響資源的狀態(tài)。

(2)冪等的意味著對同一URL的多個請求應(yīng)該返回同樣的結(jié)果。


2)根據(jù)HTTP規(guī)范,POST表示可能修改變服務(wù)器上的資源的請求


2、區(qū)別與聯(lián)系

1)GET請求的數(shù)據(jù)會附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連。

POST把提交的數(shù)據(jù)則放置在是HTTP包的包體中。


2)"GET方式提交的數(shù)據(jù)最多只能是1024字節(jié)",因為GET是通過URL提交數(shù)據(jù),那么GET可提交的數(shù)據(jù)量就跟URL的長度有直接關(guān)系了。而實際上,URL不存在參數(shù)上限的問題,HTTP協(xié)議規(guī)范沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務(wù)器對它的限制。IE對URL長度的限制是2083字節(jié)(2K+35)。對于其他瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限制取決于操作系統(tǒng)的支持。

  注意這是限制是整個URL長度,而不僅僅是你的參數(shù)值數(shù)據(jù)長度。

理論上講,POST是沒有大小限制的,HTTP協(xié)議規(guī)范也沒有進行大小限制,起限制作用的是服務(wù)器的處理程序的處理能力。


3)獲取請求參數(shù)的方法不同,例如:在ASP中,服務(wù)端獲取GET請求參數(shù)用Request.QueryString,獲取POST請求參數(shù)用Request.Form。


4)POST的安全性要比GET的安全性高。比如:通過GET提交數(shù)據(jù),用戶名和密碼將明文出現(xiàn)在URL上,因為(1)登錄頁面有可能被瀏覽器緩存,(2)其他人查看瀏覽器的歷史紀(jì)錄,那么別人就可以拿到你的賬號和密碼了,除此之外,使用GET提交數(shù)據(jù)還可能會造成Cross-site request forgery***。


5)GET:查詢字符串顯示在地址欄的URL中,可見

POST:查詢字符串不會顯示在地址欄中,不可見


6)數(shù)據(jù)類型限制:

GET:只允許ASCII字符類型

POST:沒有限制。允許二進制數(shù)據(jù)


7)GET請求能夠被緩存,GET請求會保存在瀏覽器的瀏覽記錄中,以GET請求的URL能夠保存為瀏覽器書簽

POST:POST請求不能被緩存下來,POST請求不會保存在瀏覽器瀏覽記錄中,以POST請求的URL無法保存為瀏覽器書簽


8)點擊返回/刷新按鈕:

GET:沒有影響

POST:數(shù)據(jù)會重新發(fā)送(瀏覽器將會提示用戶“數(shù)據(jù)被從新提交”)



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI