POST 和 PUT 的区别

PUT 和 POST 都有更改指定 URI 的语义,但 PUT 被定义为 idempotent 的方法,POST 则不是 idempotent 的方法。

PUT 请求:如果两个请求相同,后一个请求会把第一个请求覆盖掉,所以 PUT 用来改资源。

POST 请求:后一个请求不会把第一个请求覆盖掉,所以 POST 用来增资源。


POST 和 PUT 的区别


PUT 请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的 UPDATE 操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次 PUT 操作,其结果并没有不同。


POST 请求同 PUT 请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的 INSERT 操作一样,会创建新的内容。几乎目前所有的提交操作都是用 POST 请求的。


就像前面所讲的一样,既然 PUT 和 POST 操作都是向服务器端发送数据的,那么两者有什么区别呢。POST 主要作用在一个集合资源之上的(url),而 PUT 主要作用在一个具体资源之上的(url/xxx),通俗一下讲就是,如 URL 可以在客户端确定,那么可使用 PUT,否则用 POST。


综上所述,可理解为以下:

POST /url 创建

PUT /url/xxx 更新

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。