REST API是最常用的应用程序接口。通过它,客户端可以访问服务器和操作资源。
REST是“Representational State Transfer”的缩写,是分布式超媒体系统体系结构(如WWW)的一种形式。它的意思是在发送的资源(Resource)中指定名称,并在URI中声明,通过HTTP方法(GET、POST、PUT、DELETE)发送该资源的状态。
API是“应用程序编程接口”的缩写,是指应用程序提供的交互。您可以通过API在服务器或程序之间进行连接,也就是说,REST API可以看作是遵循REST体系结构的系统/应用程序接口。实现REST体系结构的入口服务称为“RESTful”。
Uniform Interface是指“一致的接口”,也就是说,REST服务器遵循HTTP标准传输协议,因此无论是用什么编程语言创建的,都不依赖于平台和技术,可以与其他语言、平台和技术兼容使用。
REST是“无状态(stateless)”“无状态性”是指服务器不单独存储或管理状态信息。服务器不会为客户端发送的请求单独存储会话或Cookie信息。因此,无论是一个客户端发送多个请求,还是多个客户端分别发送一个请求,都会分别进行处理。配置的服务具有更高的业务逻辑自由度和更简单的设计,因为服务器不管理不必要的信息。
REST仍然使用HTTP标准,因此可以应用HTTP的缓存功能。为了使用此功能,响应和请求都需要指定是否可缓存(Cacheable)。如果可以缓存,客户机将其保存在缓存中,并将其数据用于相同的请求。使用此功能可以减轻服务器的事务负载,提高效率,改善用户的性能。
REST服务器可以由网络上的多个层组成(Layered System),但无论服务器的复杂程度如何,客户端只需知道与服务器连接的点即可。
REST服务器提供API,客户端以管理用户信息的结构进行分离设计。此配置具有降低彼此依赖性的功能。