什么是restful?rest的请求方法有哪些,有什么区别?

分享人:韩亚博

1.背景介绍

2.知识剖析

3.常见问题

4.编码实战

5.扩展思考

6.参考文献

7.更多讨论

1.背景介绍

什么是REST?

REST 表述性状态传递(英文:Representational State Transfer,简称REST)

是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful

2.知识剖析

RESTful要点

1.在REST中的一切都被认为是一种资源。

2.每个资源由URI标识。

3.使用统一的接口。处理资源使用POST,GET,PUT,DELETE操作类似创建,读取,更新和删除(CRUD)操作。

4.无状态。每个请求是一个独立的请求。从客户端到服务器的每个请求都必须包含所有必要的信息,以便于理解。

REST的核心在于,当你设计一个系统的时候,资源是第一位的考虑,你首先从资源的角度进行系统的拆分、设计,而不是像以往一样以操作为角度来进行设计

REST请求方法

1.POST, GET, PUT, DELETE

POST:新建资源,不安全。每次请求都会创建资源,多次发出POST请求,会创建多个资源。

GET:获取资源,安全性。不管进行多少次操作,资源的状态都不会改变,GET只是访问和查看资源

PUT:更新资源,用来修改数据内容,但是不会增加数据种类,也就是说无论进行多少次PUT操作,资源不会增加

DELETE:删除资源

通信过程的安全性

GET请求将数据附在url上

POST请求将数据放在http的包体中

3.常见问题

URI不够RESTful

使用错误的请求方法

4.编码实战

form表单的请求方法,如何使用delete、put

5.扩展思考

REST缺点或者不适用的场景

存疑:rest更贴近于以资源来定义应用的架构。更加轻便和高效是rest的特点,而soap在面对更多的业务逻辑复杂的接口设计中更加有优势。如果一味的追逐rest风格,只会本末倒置、适得其反。

6.参考文献

https://baike.baidu.com/item/rest/6330506?fr=aladdin

https://blog.csdn.net/beagreatprogrammer/article/details/52535128

https://www.zhihu.com/question/33959971

https://blog.csdn.net/ruangong1203/article/details/51050586

7.更多讨论

分享到此结束

欢迎大家讨论