Web 服务REST 架构方式的6个特征
客户端-服务器 客户端和服务器必须有明确的界限
无状态 客户端发出的请求中必需包含所有必要的信息。服务器不能在两次请求之间保存客户端的任何状态
缓存 服务器发出的响应可以标记为可缓存或不可缓存,这样出于优化目的,客户端(或客户端和服务器之间的中间服务)可以使用缓存
接口统一 客户端访问服务器资源时使用的协议必须一致,定义良好,且已经标准化。REST Web服务最常使用的接口与是HTTP协议
系统分层 在客户端和服务器之间可以按需插入代理服务器、缓存、或网关,以提高性能、稳定性和伸缩性
按需代码 客户端可以选择从服务器上下载代码,在客户端的环境中执行
在设计良好的REST API中,客户端只需知道几个顶级资源的URL,其他资源的URL则从响应中包含的链接上发掘
版本
在URL中假如Web 服务的版本有助于条理化管理新旧功能,让服务器能为新客户端提供新功能,同时继续支持旧版客户端。
web 端可能会修改使用的 Json 格式,可以通过/api/v1.1/posts/提供;客户端仍旧能通过/api/v1.0/posts/ 获取旧的 Json 格式,在一段时间内,服务器要同时处理 v1.1 和 v1.0 两个版本的 URL
提供多版本支持会增加服务器的维护负担,但在某些情况下,这是不破坏现有部署且能让程序不断发展的唯一方式。
蓝图(blueprint) 的理解和用法
常见的API返回HTTP状态码