【发布时间】:2013-03-20 13:31:35
【问题描述】:
我正在尝试想出一种方法来使用 HTTP 公开 Web 服务(REST 和 SOAP 接口)的特定内部版本号以响应消息。
为了清楚起见,我不想控制客户端正在使用哪个版本的应用程序,因为这是由流量管理器和服务注册表处理的(也已经讨论过很多),我只想能够调试稍后使用或正在使用哪个版本,例如,检查流量管理器是否提供正确的版本。
我花了很长时间查看 HTTP 规范,无法决定是否使用 Pragma
Pragma: application-version=1.0.0-SNAPSHOT
使用额外的Server 标头
Server: Apache-Coyote/1.1
Server: MyService-1.0.0-SNAPSHOT
使用Via
Via: MyService-1.0.0-SNAPSHOT
或客户标题
X-ApplicationVersion: 1.0.0-SNAPSHOT
在我看来,使用Via 或Server 在语义上是不正确的,但使用X- 标头有被代理丢弃的风险,但Pragma 不受约束,因此如果想使用更难解析它以编程方式。
我也有一种感觉,多个 Server 标头不会被尊重,但我无法使用我正在使用的容器 (JBoss) 指定多个值。
这有什么先例吗?
有人有什么建议吗?
我应该闭嘴使用一个吗?
【问题讨论】:
标签: web-services http rest soap