post安全性比get高 接口編程中,為什么只用get和post?
接口編程中,為什么只用get和post?得到,帖子就夠了。。restful接口做什么?完成這項(xiàng)工作很好。別胡思亂想發(fā)布和獲取是不同的。Get具有以下特征:post請(qǐng)求具有以下特征:post具有crea
接口編程中,為什么只用get和post?
得到,帖子就夠了。。restful接口做什么?完成這項(xiàng)工作很好。別胡思亂想
發(fā)布和獲取是不同的。
Get具有以下特征:
post請(qǐng)求具有以下特征:
post具有create/update的語(yǔ)義,因此通常用于實(shí)現(xiàn)類似于“遠(yuǎn)程過(guò)程調(diào)用”的目的。這并不違背語(yǔ)義學(xué)。畢竟,Linux玩得太多了。
Post可以攜帶請(qǐng)求體,根據(jù)語(yǔ)義,Post需要有請(qǐng)求體。如果不是,則也是“create empty resource/rewrite resource as empty”的語(yǔ)義。
Post不應(yīng)假定為冪等,因此服務(wù)器通常使用這種方式告訴請(qǐng)求者Post請(qǐng)求不能隨意重新發(fā)送,除非在響應(yīng)中明確要求(如3xx)。
發(fā)出類似post的請(qǐng)求。事實(shí)上,兩者在語(yǔ)義上是重合的。唯一的區(qū)別是
,這對(duì)put有更嚴(yán)格的限制。
顯然,一般來(lái)說(shuō),我們更喜歡冪等接口,但有時(shí)我們需要做一些不那么瑣碎的事情。所以非冪等接口是必要的。
但是,冪等post接口不必更改為put。它到底是什么最終取決于語(yǔ)義。
這些不是慣例。這些是HTTP協(xié)議的一部分。只有雙方都遵守協(xié)議,他們才能玩得開(kāi)心。例如,如果您自己實(shí)現(xiàn)TCP客戶機(jī),您也可以不遵守TCP協(xié)議關(guān)于序列號(hào)和ACK的規(guī)定。畢竟,你可以隨心所欲地寫(xiě),但我們稱之為bug。
類似地,
帶有副作用的get處理程序是一個(gè)bug。
get請(qǐng)求的主體是一個(gè)錯(cuò)誤。
服務(wù)器沒(méi)有丟棄get請(qǐng)求正文是一個(gè)錯(cuò)誤。