- REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”
- REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态
- REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”
- 所有的数据,无论是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性
- 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture)
REST是什么呢?它是一种架构风格,腾讯公司或其他公司建立API时要遵守的一种规则/风格,当然也有其他规则可以用。
那么何为REST架构风格呢?首先我们来说说Web,因为rest是以web为平台的。我们知道,web是分布式信息系统为超文本文件和其他对象(资源)提供访问入口。
在web上访问一个资源,需要3点:标识,表示,交互。通过这三个操作,又引出了三个概念:uri(包括url和urn),用来识别资源;representation(例如,图片,html,媒体)用来表示资源;通过协议与资源进行交互。所以,REST就是通过使用HTTP协议和URI,利用client/server对资源进行CRUD操作。
那么为什么要使用REST设计呢?肯定是有它的优点的。
1.客户端-服务端分离
优点:提高用户界面的便携性,通过简化服务器提高可伸缩性....
2..无状态(Stateless):从客户端的每个请求要包含服务器所需要的所有信息
优点:提高可见性(可以单独考虑每个请求),提高了可靠性(更容易从局部故障中修复),提高可扩展性(降低了服务器资源使用)
有状态与无状态区别:
如查询员工工资,如果查询工资是需要登陆系统,进入查询工资的页面,执行相关操作,获取工资的多少,则这种情况下是有状态的,因为查询工资的每一步操作都依赖于前一步操作,只需要前面操作不成功,后序操作就无法执行;如果输入一个url即可得到指定员工的工资,则这种情况下是无状态的,因为获取员工工资不依赖于其他资源或者状态,且这种情况下,员工工资是一个资源,由一个url与其对应,可以通过HTTP的GET方法得到资源。