温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

RestFul架构介绍

发布时间:2020-06-19 14:21:35 来源:亿速云 阅读:181 作者:元一 栏目:编程语言

一、RestFul简介
  REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。

  简单地来说REST它是一种使用URL来定位资源,使用HTTP请求描述操作的Web服务规范。REST主要包括以下几方面:

  (1) REST是一组架构约束条件和原则,而满足这些约束条件和原则的应用程序就是RESTful。 
  (2)REST的目标是构建可扩展的Web Service,它是一种更简单的SOAP(Simple Object Access Protocol)协议以及以WSDL为基础的WebService的替代。 
  (3)REST采用的是HTTP协议并通过HTTP中的GET、POST、PUT、DELETE等动词收发数据。 
  (4) REST希望通过HTTP来完成对数据的元操作,即传统的CRUD(Create、Read、Update、Delete)分别对应GET、POST、PUT、DELETE,这样就统一了数据操作的接口,实现在不同平台上提供一套相同的服务。 
  (5) REST是一种面向服务的、分布式的API设计风格。

  RESTful API的开发和使用,无非是客户端向服务器发请求(request),以及服务器对客户端请求的响应(response)。所以RESTful架构风格具有统一接口的特点,即:使用不同的http方法表达不同的行为:

GET(SELECT):从服务器取出资源(一项或多项)
POST(CREATE):在服务器新建一个资源
PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)
PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)
DELETE(DELETE):从服务器删除资源

二、RESTful架构优点

  前后端分离,减少流量
  安全问题集中在接口上,由于接受json格式,防止了注入型等安全问题
前端无关化,后端只负责数据处理,前端表现方式可以是任何前端语言(android,ios,html5)
  前端和后端人员更加专注于各自开发,只需接口文档便可完成前后端交互,无需过多相互了解
  服务器性能优化:由于前端是静态页面,通过nginx便可获取,服务器主要压力放在了接口上。

三、原则条件

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

  Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。

  在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。Hypermedia 是应用程序状态的引擎,资源表示通过超链接互联。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI