PUT和POST都有更改指定URI的語義,但PUT被定義為idempotent的方法,POST則不是idempotent的方法。PUT請求:如果兩個(gè)請求相同,后一個(gè)請求會把第一個(gè)請求覆蓋掉。(所以PUT用來改資源)Post請求:后一個(gè)請求不會把第一個(gè)請求覆蓋掉。(所以Post用來增資源)
PUT請求是向服務(wù)器端發(fā)送數(shù)據(jù)的,從而改變信息,該請求就像數(shù)據(jù)庫的update操作一樣,用來修改數(shù)據(jù)的內(nèi)容,但是不會增加數(shù)據(jù)的種類等,也就是說無論進(jìn)行多少次PUT操作,其結(jié)果并沒有不同。
POST請求同PUT請求類似,都是向服務(wù)器端發(fā)送數(shù)據(jù)的,但是該請求會改變數(shù)據(jù)的種類等資源,就像數(shù)據(jù)庫的insert操作一樣,會創(chuàng)建新的內(nèi)容。幾乎目前所有的提交操作都是用POST請求的。
就像前面所講的一樣,既然PUT和POST操作都是向服務(wù)器端發(fā)送數(shù)據(jù)的,那么兩者有什么區(qū)別呢。POST主要作用在一個(gè)集合資源之上的(url),而PUT主要作用在一個(gè)具體資源之上的(url/xxx),通俗一下講就是,如URL可以在客戶端確定,那么可使用PUT,否則用POST。
綜上所述,可理解為以下:
POST /url 創(chuàng)建
PUT /url/xxx 更新
來源:高三網(wǎng)
能發(fā)現(xiàn)自己知識上的薄弱環(huán)節(jié),在上課前補(bǔ)上這部分的知識,不使它成為聽課時(shí)的“絆腳石”。這樣,就會順利理解新知識,相信通過post和put的區(qū)別這篇文章能幫到你,在和好朋友分享的時(shí)候,也歡迎感興趣小伙伴們一起來探討。