PUT和POST区别
2024-09-06 09:16:38
POST是用来提交数据的。提交的数据放在HTTP请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多)。
PUT操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同
POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。
还有一点需要注意的就是,创建操作可以使用POST,也可以使用PUT,区别在于POST 是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),
再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。
最新文章
- VB.NET 创建文件以及文件的读写(创建随机数)
- C#-黑客-数据库访问-字符串的攻击和防御
- WPF Binding INotifyPropertyChanged 多线程 深入理解
- 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]
- 【BZOJ1012】【树状数组求区间最值】最大数maxnumber
- 关于源码编译每次提示有错误 要make update-api
- 201521123105《jave程序》第二周学习总结
- C# Bitmap生成base64码
- Linux命令、脚本
- 第二阶段第五次spring会议
- 触发full gc的条件
- SWPU-ACM集训队周赛之组队赛(3-11)G题题解
- [读书笔记]Linux命令行与shell编程读书笔记01
- Add Two Numbers ,使用链表参数
- C++开发--在Visual Studio2013中使用boost::split()编译过程中出现error C4996
- Zabbix监控Nginx状态信息
- OO第四次阶段性总结
- .net mvc Html.DropDownListFor 设置默认值无效
- [转]Android Service完全解析,关于服务你所需知道的一切
- Pipeline组Alpha版本发布说明