javascript - 如何理解http的get post put delete方法以及幂等特性呢?

查看:97
本文介绍了javascript - 如何理解http的get post put delete方法以及幂等特性呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

看到这部分有两个疑问

  • 1.是否是幂等,不是由请求的程序决定的吗?为什么要讨论这四种方法的幂等性呢? 比如说,我post了一个请求到指定url来,调用add_blog()来增加一篇博客,按理说post不是幂等的,但是我在add_blog()中实现了fetch
    or add。这样不是就变成幂等了吗?

  • 2.所以这四种请求有什么区别呢?无论是post操作还是delete的操作,实际上不是都转变成在具体的相应url中,定义的具体函数来决定吗?比如我可以用post方法请求一个url,然后删除一个条目。所以为什么需要这四种方法?只用request来请求不就好了。。。

解决方案

我觉得题主不就是在质疑RESTful API的作用吗。下面我说说我的观点.

1、首先我觉得这就是一个规范,就像是定义变量用驼峰法这样的规范一样,我不用驼峰法定义变量一样可以实现啊,这个我觉得没什么好纠结。都是程序猿,就不要自相伤害了,让世界和谐一点好不好。
2、使用RESTful定义的api,首先功能划分的很清楚啊,get/post/put/delete对应的就是RCUD(查增更删),这样每个api功能就可以比较单一,耦合度就低啊。
3、还有就是RESTful设计的api是不是很优雅,有木有。

还有题主的第一个问题,是否是幂等。我觉得只是这个规范衍生出来的一个特性吧,用这个特性,可以更好的去区分get/post/put/delete。假如一个接口实现的代码即会做添加操作,同时还会做更新操作,那应该根据这个接口的功能来确定用post还是put,比如题主add_blog接口,很明显就是添加一篇博客,fetch只是辅助功能,那这个接口应该用post。

这篇关于javascript - 如何理解http的get post put delete方法以及幂等特性呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆