App下載

get和post有什么區(qū)別?——get與post詳解

猿友 2021-06-15 16:23:38 瀏覽數(shù) (4363)
反饋

不管是學(xué)習(xí)前端還是學(xué)習(xí)后端,get和post請(qǐng)求都是回避不開(kāi)的知識(shí)點(diǎn)。但很多剛開(kāi)始學(xué)習(xí)的小伙伴對(duì)這兩種請(qǐng)求并不熟悉,接下來(lái),小編帶你分析一下get請(qǐng)求和post請(qǐng)求的區(qū)別吧。

GET請(qǐng)求

get請(qǐng)求

如圖所示,這是一個(gè)GET請(qǐng)求,只有一個(gè)請(qǐng)求頭,參數(shù)傳遞通過(guò)往URL后添加參數(shù)的方式進(jìn)行傳參。

POST請(qǐng)求

post請(qǐng)求

如圖所示,這是一個(gè)POST請(qǐng)求,請(qǐng)求頭后面攜帶一個(gè)表單數(shù)據(jù)。

相同點(diǎn)

請(qǐng)求頭的大部分內(nèi)容相同,只有部分有所區(qū)別,都是用來(lái)訪問(wèn)服務(wù)器的方法。

不同點(diǎn)

 GET請(qǐng)求  POST請(qǐng)求
參數(shù)傳遞方式  傳參時(shí)將參數(shù)放于url后。
請(qǐng)求和參數(shù)分開(kāi),參數(shù)作為獨(dú)自攜帶的數(shù)據(jù)進(jìn)行上傳。 
能否作為書(shū)簽  url中有傳遞參數(shù),可以作為書(shū)簽保存。 因?yàn)闀?shū)簽保存的是url,而post請(qǐng)求中url沒(méi)有參數(shù),所以不能作為書(shū)簽保存 。
安全性 請(qǐng)求的參數(shù)直接暴露在url中,不能用來(lái)做用戶名密碼的請(qǐng)求 。 雖然參數(shù)也可以查看,但不像get方法一樣直接暴露 (相對(duì)安全)。
長(zhǎng)度限制 因?yàn)閡rl有最大長(zhǎng)度限制,所以get請(qǐng)求的參數(shù)也有長(zhǎng)度限制 。  post請(qǐng)求的參數(shù)獨(dú)立發(fā)送,可以發(fā)送大量數(shù)據(jù)。
冪等性(即操作后是否會(huì)對(duì)服務(wù)器狀態(tài)造成影響)  get請(qǐng)求是冪等的。 post請(qǐng)求不是冪等的 。
作用 get請(qǐng)求用于信息獲取 。 post也可用于信息獲取,但更多的是用來(lái)修改服務(wù)器上的資源的請(qǐng)求 。
后端如何取值 用Request.QueryString獲取變量的值 。 用Request.Form獲取提交的數(shù)據(jù) 。
使用 在數(shù)據(jù)查詢時(shí),建議使用get方式。  在做數(shù)據(jù)的增加,刪除,改動(dòng)時(shí),建議用post方式。 

小結(jié)

不管是get請(qǐng)求還是post請(qǐng)求,他們都是http的請(qǐng)求。其實(shí)http的請(qǐng)求還有很多種,只不過(guò)這兩種請(qǐng)求是最常被用戶使用到的。關(guān)于請(qǐng)求部分的內(nèi)容,屬于http協(xié)議的內(nèi)容,更多的的http協(xié)議的內(nèi)容可以前往http教程進(jìn)行了解。以上就是關(guān)于get和post請(qǐng)求的區(qū)別,更多精彩內(nèi)容請(qǐng)關(guān)注W3C技術(shù)頭條。


0 人點(diǎn)贊