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不干。
遵守REST规则,可以让架构变得轻便,简单,安全性和可靠性高,更重要的是扩展性好。当然,利用应用程序的多层架构可是实现更高的重用性、安全性和扩展性。
还有,REST架构方式不”挑食“,好多语言都可以实现。 Java、Perl、Ruby、Python、PHP、GO等等都是他的菜。
当然,REST只是一个规范,不是法律,没有强制性,实际项目中,只能靠组织规定、领导力量和程序员的自觉了。
标签:HTTP,URL,REST,分钟,扩展性,架构,资源 来源: https://blog.51cto.com/u_15078285/2759691
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。