HTTP REST请求POST和PUT的区别

  • Post author:
  • Post category:其他


REST请求的六种方式:GET,POST,PUT,DELETE,HEAD,OPTIONS

在REST API的上下文中,当生成多个相同的请求与生成单个请求具有相同的效果时 – 然后该REST API称为幂等。

GET,PUT,DELETE,HEAD,OPTIONS是自动幂等的,POST不是幂等的


POST和PUT的区别


直接区别

PUT方法是幂等的,因此,如果多次发送重试请求,那应该等同于单个请求修改。

POST方法不是幂等的,因此,如果重试请求N次,那将获得N个资源,其中N个不同的URL在服务器上创建。


使用方式

PUT当想修改已经属于资源集合的单一资源时使用,put完全替换资源,如果请求更新资源的一部分,使用patch。

POST在资源集合下添加子资源时使用。

通常PUT进行UPDATE操作,POST用于CREATE操作。


GET和POST的区别

GET在浏览器回退时是无害的,而POST会再次提交请求。

GET产生的URL地址可以被保存,而POST不可以。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求在URL中传送的参数是有长度限制的,而POST么有。

对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中

参考官方链接:

什么是REST | RESTful API 中文网



版权声明:本文为TurboAnho原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。