记录一下RESTful原则,加深理解


一、REST是什么?

REST是REpresentational State Transfer表述性状态转移的首字母缩写。它是分布式超媒体系统的架构风格,最初由Roy Fielding在2000年的着名论文中提出。

1、RESTful是什么?

REST-ful,其中ful代表形容词,如helpful,powerful。这类形容词意为"full of,having the quality of"。多加在名词之后表示“充满…的、易于…、可…的、富有…的、具有…的”的意思,是最常用的形容词后缀,反义词后缀是-less。

所以!RESTful 就代表满足REST原则的。

与任何其他架构风格一样,REST也有自己的6个引导约束,如果接口需要被称为RESTful,则必须满足一些原则。这些原则如下。

2、REST的指导原则

1)客户端 - 服务器 - 通过将用户接口问题与数据存储问题分开,我们通过简化服务器组件来提高跨多个平台的用户接口的可移植性并提高可伸缩性。

2)无状态 - 从客户端到服务器的每个请求都必须包含理解请求所需的所有信息,并且不能利用服务器上任何存储的上下文。因此,会话状态完全保留在客户端上。

3)可缓存 - 缓存约束要求将对请求的响应中的数据隐式或显式标记为可缓存或不可缓存。如果响应是可缓存的,则客户端缓存有权重用该响应数据以用于以后的等效请求。

4)统一接口 - 通过将通用性的软件工程原理应用于组件接口,简化了整个系统架构,提高了交互的可见性。为了获得统一的接口,需要多个架构约束来指导组件的行为。REST由四个接口约束定义:资源识别; 通过陈述来处理资源; 自我描述性的信息; 并且,超媒体作为应用程序状态的引擎。

5)分层系统 - 分层系统风格允许通过约束组件行为来使体系结构由分层层组成,这样每个组件都不能“看到”超出与它们交互的直接层。

6)按需编码(可选) - REST允许通过以小程序或脚本的形式下载和执行代码来扩展客户端功能。这通过减少预先实现所需的功能数量来简化客户端。

二、总结

本文仅仅简单介绍了REST和RESTful的含义,有需要再补充一些细节上的东西。

参考:
Restful API 中文网
Rest简介,博客园
Rest,知乎

REST及RESTful原则相关推荐

  1. 构建 RESTful Web 服务

    from: https://www.ibm.com/developerworks/cn/education/java/j-rest/j-rest.html 开始之前 关于本教程 REST 是一种思维方 ...

  2. restful rest_HATEOAS的RESTful服务。 REST:刷新器

    restful rest 在这篇文章中,我们将介绍有关HATEOAS的RESTful服务的综合文章. REST:刷新器. 1.简介 "不好了! 请,不要再发表有关REST的文章!" ...

  3. 关于Restful Web Service的一些理解

    对于restful web service,刚开始确实是个不太好理解的概念. 看了些文章,总是在描述和解释restful的原则: 1)显式地使用HTTP方法. 2)无状态. 3)公开目录结构式的 UR ...

  4. 玩转 SpringBoot 2 快速整合 | RESTful Api 篇

    概述 RESTful 是一种架构风格,任何符合 RESTful 风格的架构,我们都可以称之为 RESTful 架构.我们常说的 RESTful Api 是符合 RESTful 原则和约束的 HTTP ...

  5. Springboot 之 RESTFul风格

    3.4 Spring Boot 实现 RESTful 风格 3.4.1 关于RESTFul REST(英文:Representational State Transfer,简称 REST) RESTF ...

  6. 设计实用的RESTful API的最佳实践

    关于REST API设计的文章.<星际战士>游戏中暴露API的部分 API是开发人员的用户界面--所以要努力让它变得令人愉快 使用RESTful url和操作 在任何地方都使用SSL,没有 ...

  7. java rest httpclient_java http请求建议使用webClient,少用RestTemplate,不用HttpClient

    简介: webClient:是Spring-webFlux包下的,非阻塞响应,最低java8支持函数式编程,性能好 RestTemplate:是Spring-webmvc包下的,满足RestFul原则 ...

  8. java get resttemplate 请求传递数组_RestTemplate入门

    RestTemplate入门  本篇主要讲解RestTemplate的基本使用,它是Spring提供的用来访问Rest服务的客户端,RestTmplate提供了很多便捷的方法,可以大大提供开发效率,本 ...

  9. REST API URI 设计的七准则

    在了解 REST API URI 设计的规则之前,让我们快速过一下我们将要讨论的一些术语. URI REST API 使用统一资源标识符(URI)来寻址资源.在今天的网站上,URI 设计范围从可以清楚 ...

  10. 后端:REST API URI 设计的七准则

             正文    在了解 REST API URI 设计的规则之前,让我们快速过一下我们将要讨论的一些术语. URI REST API 使用统一资源标识符(URI)来寻址资源.在今天的网站 ...

最新文章

  1. 皮一皮:程序猿表示这点不够退休...
  2. php pdo 打印sql语句,php – 使用PDO准备SQL语句
  3. MySQL 指定过滤条件
  4. windows获取系统补丁+匿名管道
  5. 2.13 向量化 logistic 回归
  6. 【jQuery笔记Part2】02-jQuery展开收起动画帷幔效果案例下拉菜单案例显示隐藏更多案例折叠菜单案例
  7. 【软工】第一次阅读作业
  8. 这40个Python可视化图表案例,强烈建议收藏!
  9. 用好这两大office模板资源网,办公轻松又高效
  10. java技术可行性分析_java毕业设计管理系统需求分析
  11. 什么是http协议?
  12. 前端怎么加粗字体_Variable Fonts 可变形字体
  13. 计算机软件卡死,电脑运行卡或软件卡死无响应,怎么办?新生必看
  14. 大数据分析 2021年Q3酒店品牌营销网络传播特征
  15. 用户未登录跳转至登录页面
  16. 斯隆奖获得者李博:从博弈论出发,和「偶像」并肩的感觉很好 | 青源专栏
  17. Spark项目之电商用户行为分析大数据平台之(三)大数据集群的搭建
  18. Dragon Balls
  19. Office Visio 2016安装
  20. 吧友热议是什么,百度贴吧热议做指定关键词教程

热门文章

  1. 虚拟光驱下载安装和使用,Windows系统如何直接打开iso文件
  2. matlab示波器的峰值测量,峰峰值定义_示波器峰峰值怎么看
  3. 路由与交换技术考试常见问答
  4. UE4 虚幻引擎,BluePrint蓝图接受输入
  5. 阿里云手机号短信设置
  6. esp8266 继电器接线图_如何使用继电器实现ESP8266的自动化
  7. 关于web3营销的一切知识
  8. Javascript带参跳转页面
  9. i386和i686的区别
  10. 21年美赛F题-DEA模型和逻辑回归模型