聊架构:5分钟了解REST架构

  1. 云栖社区>
  2. Java架构师之路>
  3. 博客>
  4. 正文

聊架构:5分钟了解REST架构

玄学酱 2018-02-02 11:16:00 浏览747
展开阅读全文

REST 指的是一组架构约束条件和原则。是一种架构方式,它描述了一个架构样式, 这个原则诞生于2000年,是Roy Fielding 的博士论文第一次提出的,这哥们牛闪闪的,是 HTTP(1.0/1.1) 规范的主要编写者之一,也是Apache服务器软件的作者之一,Apache基金会的第一任主席。

而RESTful是指按照REST规定的规则应用程序或者设计风格。

REST的规则概括起来有以下五个方面:

一、以资源为核心

什么是资源?在web应用中,什么都是资源(或者抽象成资源)。资源可以是一个实体,也可以是一个过程,或者也可以是一个版本。比如,商品是资源,库存是资源,价格是资源等等。

REST没有“服务”概念,那是SOA的事情。

二、每个资源分配唯一一个URL

每一个资源一个URL,而且是唯一的URL,比如我们使用http://www.haodaquan.com/v0/product 这个URL标识商品资源。

三、通过标准的HTTP(HTTPS)方法操作资源。

操作(调用)资源使用HTTP中的标准方法,比如常见的GET(获取资源),POST(存储资源),PUT(重置资源),PATCH(局部更新资源)、DELET(删除资源),也可能会有HEADER和OPTIONS方法。

四、资源的表现层可以是xml、json或者其他

这里是指调用资源后返回的数据格式,一般以JSON和XML居多,特别json格式可以直接被js使用,爽的很,经常被使用。

五、操作是无状态的

REST架构是不存储调用者的状态的。换句话说,比如登陆才能调用资源,你可别指望登陆这个状态让REST服务帮你存储。换句话说,业务层的活,REST不干。

HwqYH1rOc01LAAAAAElFTkSuQmCC

遵守REST规则,可以让架构变得轻便,简单,安全性和可靠性高,更重要的是扩展性好。当然,利用应用程序的多层架构可是实现更高的重用性、安全性和扩展性。

还有,REST架构方式不”挑食“,好多语言都可以实现。 Java、Perl、Ruby、Python、PHP、GO等等都是他的菜。

当然,REST只是一个规范,不是法律,没有强制性,实际项目中,只能靠组织规定、领导力量和程序员的自觉了。




原文出处:Java架构师之路
原文链接:http://mp.weixin.qq.com/s/DMBYFaFvUxYlzTZgVbw-Cg
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

网友评论

登录后评论
0/500
评论
玄学酱
+ 关注
所属云栖号: Java架构师之路