get post 这些是http协议规定的还是restful规定的?

get post 这些是http协议规定的还是restful规定的?

我是前端,一直以为get post这些是http协议规定的,
但是最近看restful是什么的时候看到get用来获取,post用来新建是rest规定的。

所以真相是什么。。。

阅读 3.5k
3 个回答

http 协议支持着 get, post, put, delete, patch, trace, head, options 等等方法。而restful规定了使用这些方法的规则。你也可以用get方法去删除资源。只不过从语义上不太符合。不好理解。并不是restful这种风格和规范的出现之后才有这些方法的。而是本来就有的。
http协议的方法是http协议规范的一部分,可以参考如下[http/1.1]
(https://www.w3.org/Protocols/...

真相是get post这些http动词肯定是http协议定的。
要不然不是RESTful,那么RPC怎么也有POST和GET?
RESTful这种更像是一种约定,比如你和张三说以后我们就用GET来获取POST来新建好了。
然后服务端对前台的这些请求就做这些处理。
换句话说,明天你和张三说我们来自己搞个另一个约定,叫反RESTful,那么用GET来新建,POST来获取也行。(当然这个玩法在各种意义上都是不好的)

HTTP 协议规定了 GETPOST 这些请求方式,但是同时要注意的是,这些方式本身是含有语义的。

GET 很好理解就是获取的意思。
一般来说 POST 理解为创建资源,PUT 理解为更新资源。

HTTP 协议本身就是在通过 URL 表示资源的映射,用请求方式来表示对资源的操作(包括但不限于创建、删除、更新、查找,也就是 CRUD),用 HTTP 状态码 表示操作的结果。

RESTful 的重点其实在于如何建立资源与 URL 的映射,它只是一个规范,告诉你什么算一个(符合它理念的)好的设计,它并不严格规定所有东西。

以上仅为个人理解,如有错误还请不吝赐教!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进