HTTP提交方式之PUT详细介绍及POST和PUT的区别

Posted liang-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP提交方式之PUT详细介绍及POST和PUT的区别相关的知识,希望对你有一定的参考价值。

POST是用来提交数据的。提交的数据放在HTTP请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多)。
PUT操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同
POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
  安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。
  还有一点需要注意的就是,创建操作可以使用POST,也可以使用PUT,区别在于POST 是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。

以上是关于HTTP提交方式之PUT详细介绍及POST和PUT的区别的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发教程之put上传文件的服务器的配置及实例分享-备用

Http之POST PUT

http数据传输方式 介绍

thinkphp3.2 请求怎么发送 put

http请求中PUT GET POST区别?

HTTP协议中的提交方式和解释POSTGETHEADPUT等