场景是:我正在实现一个 RESTful Web 服务,它将充当存储在远程 C 系统上的实体的缓存。Web 服务的要求之一是,当远程 C 系统脱机时,它将使用最后缓存的数据回答 GET 请求,但将其标记为“过时”。
我计划将数据标记为陈旧的方式是返回 200 (OK) 以外的 HTTP 状态代码。我考虑过使用 503(服务不可用),但我相信它会使一些 C#/Java HTTP 客户端抛出异常,这将间接迫使用户使用异常进行控制流。
你能建议一个更合适的状态代码吗?或者我应该只返回 200 并在响应正文中添加一个陈旧标志?另一种选择是定义一个单独的资源来通知连接状态,并让客户端单独处理。