get、post、put、delete?
发布日期:2021-06-20 05:37:30
浏览次数:15
分类:技术文章
本文共 940 字,大约阅读时间需要 3 分钟。
为什么要区分get、post、put、delete?
所有 http 请求,一律用 POST,在业务功能的实现是没有问题的.
post,get,put,delete 是标准, 大家都遵循这样的规则. 这样的api对于它人来说一目了然, get就是获取数据, post就是提交数据, put就是更新数据, delete就做删除操作. 如果一律使用post对一个项目组的内部人员来说是没有问题的, 但是对于对外公开的接口就让调用者摸不着头脑了。
它们有什么不同?
- GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。
- PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
- POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它
如何使用
以遵循 RFC-2616 所定义的协议的方式显式地使用 HTTP 方法,建立创建、检索、更新和删除(CRUD:Create, Retrieve, Update and Delete)操作与 HTTP 方法之间的一对一映射:
- 若要在服务器上创建资源,应该使用 POST 方法;
- 若要检索某个资源,应该使用 GET 方法;
- 若要更改资源状态或对其进行更新,应该使用 PUT 方法;
- 若要删除某个资源,应该使用 DELETE 方法。
关于get和post的混淆
-
GET 请求可被缓存,请求可保留在浏览器历史记录中, 请求可被收藏为书签
-
POST 请求不会被缓存,比较安全, 请求不会保留在浏览器历史记录中, 不能被收藏为书签。这就是为什么取数据要使用get而不是post.
因为get可以快取, 缓存和保留历史记录及书签等特殊功能。
转载地址:https://blog.csdn.net/h2453532874/article/details/94666585 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月19日 06时56分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
面试必问:对象不再使用时,为什么要赋值为 null ?
2019-05-08
感谢各位的支持,本账号留言功能已开通
2019-05-08
努力成为架构师的你,却连架构师的分类都不清楚
2019-05-08
用『逐步排除法』定位Java服务线上系统性故障
2019-05-08
微服务之间的最佳调用方式,你会了吗
2019-05-08
Linux如何在系统启动时自动加载模块
2019-05-08
socket和send两个系统调用为例,协议栈是如何工作
2019-05-08
Linux内存管理
2019-05-08
我理解的逻辑地址、线性地址、物理地址和虚拟地址
2019-05-08
Linux内存管理
2019-05-08
Linux内存管理
2019-05-08
链路层到网络层的数据传递
2019-05-08
linux 驱动mmap操作
2019-05-08
程序员修炼
2019-05-08
终端中Vim中文乱码的解决办法
2019-05-08
ubuntu 安装 man手册页
2019-05-08
PHY管理接口(MDIO)
2019-05-08
Lighttpd中CGI执行流程
2019-05-08