我正在尝试想出一种方式,使用HTTP在响应消息中公开Web服务(REST和SOAP接口)的具体构建版本号。
仅为明确起见,我并不想控制客户端使用的应用程序版本,因为这由交通管理器和服务注册表处理(已经被广泛讨论),我只想能够在以后调试时检查所使用的版本是什么或正在使用什么版本,例如,检查交通管理器是否提供了正确的版本。
我花费了很长时间研究HTTP规范,并且无法决定使用Pragma还是...
或者一个自定义头部。
在我的看法中,使用
我还有一种感觉是,多个
这方面有什么先例吗?有人有什么技巧吗?还是我只需要使用一个就好了呢?
仅为明确起见,我并不想控制客户端使用的应用程序版本,因为这由交通管理器和服务注册表处理(已经被广泛讨论),我只想能够在以后调试时检查所使用的版本是什么或正在使用什么版本,例如,检查交通管理器是否提供了正确的版本。
我花费了很长时间研究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)无法指定多个值。这方面有什么先例吗?有人有什么技巧吗?还是我只需要使用一个就好了呢?