概念
Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。满足这些约束条件和原则的应用程序或设计就是 RESTful
优点
前后端分离。前端拿到数据只负责展示和渲染,不对数据做任何处理。后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口
REST架构的主要原则
1、对网络上所有的资源都有一个资源标志符。
2、对资源的操作不会改变标识符。
3、同一资源有多种表现形式(xml、json)
4、所有操作都是无状态的(Stateless)
符合上述REST原则的架构方式称为RESTful
关于规范与约束有哪些?
RESTful 架构的核心规范与约束:统一接口
即客户只可以通过服务端所返回各结果中所包含的信息来得到下一步操作所需要的信息,如到底是向哪个URL发送请求等。也就是说,一个典型的REST服务不需要额外的文档标示通过哪些URL访问特定类型的资源,而是通过服务端返回的响应来标示到底能在该资源上执行什么样的操作
目的:实现客户端无需借助任何文档即能调用到所有的服务器资源
URI和URL区别:
URI:http://example.com/users/
URL:http://example.com/users/{user} (one for each user)
轻量级
代码不被侵入(正例:SpringMVC中不用接口和继承,仅用注解完成。反例:Struts中每一个Action都要继承核心控制器),轻量级跟包大小无关。耦合性越低,越轻量。