作为架构风格的 REST 到底是什么
很多人搞不明白 REST(Representational State Transfer 表述性状态转移)原因在于一开始就是把它当做 设计风格 而不是 架构风格 来理解,因而一上来就大谈特谈什么 RESTful API,结果是只见树木不见森林。 仅从设计的角度去理解 REST(仅把它作为 API 设计原则),最多仅能理解其资源、表述这些概念,却很难理解状态转移到底是怎么回事。 要想搞清楚 REST,必须透彻理解三个关键概念: 资源、表述、状态转移 。 REST 架构风格提出者和 HTTP 1.1 规范主要设计者都是同一个人 Roy Fielding。事实上,HTTP 1.1 正是 REST 风格的实现,因而认识 REST 最好的方式是从基于 HTTP 的 Web 应用开始。 场景: 我们看一个典型场景。 李小四想在京东上买一部 iPhone。 首先他在浏览器地址栏输入 www.jd.com(当然也可以通过搜索引擎进入),打开京东商城首页,然后在首页搜索栏输入“iPhone”,回车,页面切换到含有 iPhone 关键字的商品列表。 李小四用鼠标点击其中一个商品,进入该商品详情页。 李小四看了看介绍,觉得中意,于是选定颜色、型号、规格、数量,点击“加入购物车”,再点击“去购物车结算“,填写收货人信息、支付方式、开票信息,点击“提交订单”,选择一种支付方式支付并完成订单。