知识卡片

同一个资源标识符,可以随场景协商出不同的返回格式,而不必为每种格式改名字

专业/工作

内容

http://server/report/2008/02这样一个逻辑名称,指向的是”2008年2月的报告”这个稳定的业务概念本身,而不是某种具体格式——同一个地址,可以根据请求方协商出XML、Excel或JPEG等不同的物理表示,未来即使要支持一种现有客户端都不认识的新格式,也只需要在服务端加上支持,不用改动任何现有客户端。这种设计把”这个东西是什么”和”这个东西现在长什么样”彻底分开,形式可以随时代演进,而名字所指向的概念保持稳定不变——这提示一个通用的判断标准:给一个东西起名字时,应该锚定它在概念上”是什么”,而不是锚定它眼下恰好用什么格式存储或呈现。

参考来源

《架构之美》第5章《面向资源的架构:在Web中》