Restful你知道吗?

 

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

l  基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

l  不适应于所有的项目,当项目比较小时使用RestFul架构,项目变得更复杂;

l  RESTful架构将服务器分成前端服务器和后端服务器两部分,前端服务器为用户提供无模型视图;后端服务器为前端服务器提供接口。浏览器向前端服务器请求视图,通过视图中包含的AJAX函数发起接口请求获取模型。

l  RESTful架构时对MVC架构改进后形成的一种架构,通过使用事先定义好的接口与不同的服务联系起来。在REST’ful架构中,浏览器使用POST,DELETE,PUT,GET四种请求方式分别对指定的URL资源进行增删改查操作。因此,RESTful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。

GET:获取资源、POST:新建资源、PUT:更新资源、DELETE:删除资源

每一个URI代表一种资源,资源的表现形式是XML或者HTML,通过操作资源的表现形式来操作资源。

客户端和服务器之间的交互在请求之间是无状态的,从客户端到服务器端的每个请求都必须包含理解请求所必须的信息。

Restful特点包括:

1、每一个URI代表1种资源;

2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

3、通过操作资源的表现形式来操作资源;

4、资源的表现形式是XML或者HTML;

5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

REST便于我们更好的开发

主流的是http1.1协议,先有REST这套理论,再设计出来http1.1协议.

Rest是一套理论,使用rest理论的应用和项目可以称为restful应用.

网络上,一切皆资源;每一种资源都有一个特定的URI指向它;

²  一种架构方式的约束,一种约定的标准;

²  对api接口规范、命名规则、返回值、授权验证等进行一定的约束;

REST:;

²  每一个URL代表一种资源;

²  客户端和服务器之间,传递这种资源的某种表现层;

²  客户端通过四个HTTP动词(get、post、put、delete),对服务器端进行操作,实现“表现层状态转化”;

RESTful6大原则:

C-S架构、无状态、统一的接口;

一致的数据格式;系统分层;可缓存;按需编码,可定制编码(可选);

restful其实就是一套编写接口的协议,协议规定如何编写以及如何设置返回值、状态码等信息。
最显著的特点:
restful: 给用户一个url,根据method不同在后端做不同的处理,比如:post 创建数据、get获取数据、put和patch修改数据、delete删除数据。

URL、URI、URN

URI:uniform resource identifier(统一资源标识符)

用来唯一的标识一个资源。Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个URI来定位的;URI组成:访问资源的命名机制;存放资源的主机名;资源自身的名称,由路径表示,着重强调于资源。

URL:uniform resource locator(统一资源定位器)

是一种具体的URI,即URL可以用来标识一个资源,并且还指明了如何locate这个资源。

URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上(特别是著名的Mosaic)。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL组成:协议(或称为服务方式);存有该资源的主机IP地址(有时也包括端口号);主机资源的具体地址。如目录和文件名等。

URN:uniform resource name(统一资源命名)

是通过名字来标识资源,比如mailto:[email protected]

Http的无状态连接

http连接是无状态,符合restful原则的Web API是无状态。

这个状态是对服务器而言的。无状态,意味着服务器不存储客户端的状态,无须在自己这里维护客户端的状态。但是!无状态不代表没有状态,而是说,每次客户端访问服务器,状态都由客户端带过来。换言之,状态不由服务器维护,而是客户端自己维护。客户端你需要什么,服务器就给你什么,服务器只负责提供服务,安安静静地做个美男子。

好处:

1、服务器有超然的地位,简化了设计(简单的往往是最好的)

2、利于集群部署(由于无需维护状态,比如啥会话什么的,不用设置专用的缓存服务器)

猜你喜欢

转载自www.cnblogs.com/qingaoaoo/p/12397086.html