我一直在研究最近使用哪些javascript框架,并且看到REST
和REST-persistable
被烙了很多,但不知道他们指的是什么。
答案 0 :(得分:4)
REST
或 Representational State Transfer 实际上是一个服务器端术语,指的是某种架构风格的Web服务。它是由Roy Fielding在PhD thesis创造的。
REST
中的中心概念是资源(数据源)的存在,每个资源都使用全局标识符(例如,URI)引用在HTTP)。为了操纵这些资源,网络的组件(用户代理和源服务器)通过标准化接口(例如,HTTP)进行通信,并交换这些资源的表示(传递信息的实际文档)。
对于 Javascript 框架,它主要表示仅根据预期用途使用每个HTTP
动词。也就是说,使用HTTP DELETE
删除内容,使用HTTP PUT
添加内容,使用HTTP GET
阅读内容等等。此外,REST
表示符合将data entities直接映射到人类可读网址的命名标准。
REST的主要功能 [source]
客户端 - 服务器 - 统一的界面将客户端与服务器分开。这种关注点分离意味着,例如,客户端不关心数据存储,数据存储仍然是每个服务器的内部,从而提高了客户端代码的可移植性。服务器不关心用户界面或用户状态,因此服务器可以更简单,更具可伸缩性。服务器和客户端也可以独立替换和开发,只要它们之间的接口不被更改即可。
无状态 - 客户端 - 服务器通信进一步受到请求之间没有客户端上下文存储在服务器上的限制。来自任何客户端的每个请求都包含为请求提供服务所需的所有信息,并且任何会话状态都保存在客户端中。
可缓存 - 与万维网一样,客户端可以缓存响应。因此,响应必须隐式或显式地将自身定义为可缓存或不可缓存,以防止客户端重用陈旧或不适当的数据以响应进一步的请求。管理良好的缓存部分或完全消除了一些客户端 - 服务器交互,进一步提高了可伸缩性和性能。
分层系统 - 客户端通常无法判断它是直接连接到终端服务器,还是沿途的中介。中间服务器可以通过启用负载平衡和提供共享缓存来提高系统可伸缩性。他们还可以执行安全策略。
按需代码(可选) - 服务器可以通过传输可执行代码来临时扩展或自定义客户端的功能。这方面的示例可能包括编译组件,如Java applet和客户端脚本,如JavaScript。
统一接口 - 下面讨论的客户端和服务器之间的统一接口简化和解耦了架构,使每个部分都能够独立发展。
关于这个主题有很多很好的信息。例如,A Brief Introduction to REST
答案 1 :(得分:1)
REST
这个词现在真的被滥用了。 REST-persistable框架是一个框架,它可以使用(主要是)GET和POST(XHR)HTTP请求和JSON格式的数据以某种自动方式与服务器通信(即它可以为您处理客户端数据)。 / p>
答案 2 :(得分:0)
这是一个具有一组特定功能的Web API范例: