Web services HTTP响应头-应用程序版本

Web services HTTP响应头-应用程序版本,web-services,http,rest,soap,Web Services,Http,Rest,Soap,我试图想出一种方法,使用HTTP来响应消息,从而公开web服务(REST和SOAP接口)的特定构建号 为了明确起见,我不想控制客户端正在使用哪个版本的应用程序,因为这是由traffic manager和service registry处理的(前面也有很多讨论),我只想以后能够调试使用了或正在使用的版本,例如。,检查traffic manager是否提供了正确的版本 我花了很长时间研究HTTP规范,无法决定是否使用Pragma Pragma: application-version=1.0.0-S

我试图想出一种方法,使用HTTP来响应消息,从而公开web服务(REST和SOAP接口)的特定构建号

为了明确起见,我不想控制客户端正在使用哪个版本的应用程序,因为这是由traffic manager和service registry处理的(前面也有很多讨论),我只想以后能够调试使用了或正在使用的版本,例如。,检查traffic manager是否提供了正确的版本

我花了很长时间研究HTTP规范,无法决定是否使用
Pragma

Pragma: application-version=1.0.0-SNAPSHOT
使用附加的
服务器

Server: Apache-Coyote/1.1
Server: MyService-1.0.0-SNAPSHOT
通过

Via: MyService-1.0.0-SNAPSHOT
或客户标题

X-ApplicationVersion: 1.0.0-SNAPSHOT
在我看来,通过
服务器
使用
在语义上是不正确的,但是使用
X-
头有被代理删除的风险,但是
Pragma
是不受约束的,因此如果想要以编程方式使用它,解析起来就更困难

我也有一种感觉,多个
Server
头不会得到尊重,但我使用的容器(JBoss)无法指定多个值

这有什么先例吗?
有人有什么建议吗?
我应该闭嘴用一个吗

在我看来,使用Via或服务器在语义上是不正确的,但是使用 X-header承担被代理丢弃的风险

我不会太担心X头被删除。例如,打这个电话到ebay查找服务

响应包括此标题

X-EBAY-SOA-SERVICE-VERSION: 1.12.0

我已经看到X头文件被大量用于此目的。

谢谢Deepak,使用“非标准”头文件确实让我感到紧张,但似乎是元数据中最常见的。我只是担心如果罗伊·菲尔丁(Roy Fielding)曾经评论过我的服务,我不会使用现有的内置功能哈哈!说到Roy和标准/风格,你可能会发现这篇博文很有趣-