不管是學習前端還是學習后端,get和post請求都是回避不開的知識點。但很多剛開始學習的小伙伴對這兩種請求并不熟悉,接下來,小編帶你分析一下get請求和post請求的區(qū)別吧。
GET請求
如圖所示,這是一個GET請求,只有一個請求頭,參數傳遞通過往URL后添加參數的方式進行傳參。
POST請求
如圖所示,這是一個POST請求,請求頭后面攜帶一個表單數據。
相同點
請求頭的大部分內容相同,只有部分有所區(qū)別,都是用來訪問服務器的方法。
不同點
GET請求 | POST請求 | |
參數傳遞方式 | 傳參時將參數放于url后。
|
請求和參數分開,參數作為獨自攜帶的數據進行上傳。 |
能否作為書簽 | url中有傳遞參數,可以作為書簽保存。 | 因為書簽保存的是url,而post請求中url沒有參數,所以不能作為書簽保存 。 |
安全性 | 請求的參數直接暴露在url中,不能用來做用戶名密碼的請求 。 | 雖然參數也可以查看,但不像get方法一樣直接暴露 (相對安全)。 |
長度限制 | 因為url有最大長度限制,所以get請求的參數也有長度限制 。 | post請求的參數獨立發(fā)送,可以發(fā)送大量數據。 |
冪等性(即操作后是否會對服務器狀態(tài)造成影響) | get請求是冪等的。 | post請求不是冪等的 。 |
作用 | get請求用于信息獲取 。 | post也可用于信息獲取,但更多的是用來修改服務器上的資源的請求 。 |
后端如何取值 | 用Request.QueryString獲取變量的值 。 | 用Request.Form獲取提交的數據 。 |
使用 | 在數據查詢時,建議使用get方式。 | 在做數據的增加,刪除,改動時,建議用post方式。 |
小結
不管是get請求還是post請求,他們都是http的請求。其實http的請求還有很多種,只不過這兩種請求是最常被用戶使用到的。關于請求部分的內容,屬于http協(xié)議的內容,更多的的http協(xié)議的內容可以前往http教程進行了解。以上就是關于get和post請求的區(qū)別,更多精彩內容請關注W3C技術頭條。