您好,登錄后才能下訂單哦!
1、GET、POST
兩者是HTTP請求報文的方法,除此之外還有OPTION、HEAD、PUT、DELETE、TRACE、CONNECT。
GET:請求讀取由URL(統一資源定位符)所標志的信息
POST:給服務器添加信息
1)根據HTTP規范,GET用于信息獲取,而且應該是安全的和冪等的。
(1)所謂安全的意味著該操作用于獲取信息而非修改信息。換句話說,GET 請求一般不應產生副作用。就是說,它僅僅是獲取資源信息,就像數據庫查詢一樣,不會修改,增加數據,不會影響資源的狀態。
(2)冪等的意味著對同一URL的多個請求應該返回同樣的結果。
2)根據HTTP規范,POST表示可能修改變服務器上的資源的請求
2、區別與聯系
1)GET請求的數據會附在URL之后(就是把數據放置在HTTP協議頭中),以?分割URL和傳輸數據,參數之間以&相連。
POST把提交的數據則放置在是HTTP包的包體中。
2)"GET方式提交的數據最多只能是1024字節",因為GET是通過URL提交數據,那么GET可提交的數據量就跟URL的長度有直接關系了。而實際上,URL不存在參數上限的問題,HTTP協議規范沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。IE對URL長度的限制是2083字節(2K+35)。對于其他瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限制取決于操作系統的支持。
注意這是限制是整個URL長度,而不僅僅是你的參數值數據長度。
理論上講,POST是沒有大小限制的,HTTP協議規范也沒有進行大小限制,起限制作用的是服務器的處理程序的處理能力。
3)獲取請求參數的方法不同,例如:在ASP中,服務端獲取GET請求參數用Request.QueryString,獲取POST請求參數用Request.Form。
4)POST的安全性要比GET的安全性高。比如:通過GET提交數據,用戶名和密碼將明文出現在URL上,因為(1)登錄頁面有可能被瀏覽器緩存,(2)其他人查看瀏覽器的歷史紀錄,那么別人就可以拿到你的賬號和密碼了,除此之外,使用GET提交數據還可能會造成Cross-site request forgery***。
5)GET:查詢字符串顯示在地址欄的URL中,可見
POST:查詢字符串不會顯示在地址欄中,不可見
6)數據類型限制:
GET:只允許ASCII字符類型
POST:沒有限制。允許二進制數據
7)GET請求能夠被緩存,GET請求會保存在瀏覽器的瀏覽記錄中,以GET請求的URL能夠保存為瀏覽器書簽
POST:POST請求不能被緩存下來,POST請求不會保存在瀏覽器瀏覽記錄中,以POST請求的URL無法保存為瀏覽器書簽
8)點擊返回/刷新按鈕:
GET:沒有影響
POST:數據會重新發送(瀏覽器將會提示用戶“數據被從新提交”)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。