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