像编程技能一样构建 RESTful Web 服务时一门艺术。随着互联网行业的发展,使用新兴的最佳实践创建 REST API 变得更加具体。由于 RESTful Web 服务不遵循除 HTTP 之外的规定标准,因此根据行业最佳实践 RESTful API 以简化开发并提高客户端采用率非常重要。
表现层状态转换(Representational State Transfer,缩写:REST),是 Roy Thomas Fielding 博士在 2000 年在它的博士论文中提出来的一种万维网软件架构分隔,目的是便于不同软件/程序在网络中互相传递信息。表现层状态转换时根基于超文本传输协议(HTTP)之上而确定的一组约束和属性,是一种设计提供万维网络服务的软件架构风格。匹配或兼容于这种架构风格的网络服务,允许客户端发出以统一资源标识符访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协作性质。相对于其它种类的网络服务,例如 SOAP 服务则是以本身所定义的操作集,来访问互联网的资源。
当前在三中主流的 Web 服务视线方案中,因为 REST 模式与复杂的 SOAP 和 XML-RPC 相比更加简洁,越来越多的 web 服务开始采用 REST 风格设计和实现。