HTTP响应头 - 应用程序版本

问题描述:

我想要提供一种方法来公开使用HTTP响应消息的Web服务(REST和SOAP接口)的特定内部版本号。HTTP响应头 - 应用程序版本

只是为了清楚我不想控制客户端正在使用哪个版本的应用程序,因为这是由流量管理器和服务注册表处理的(我已经讨论过很多),我只希望能够稍后调试使用或正在使用的版本,例如,检查流量管理器是否提供了正确的版本。

我花了很长的时间看HTTP规范,并使用Via

Via: MyService-1.0.0-SNAPSHOT 
使用附加 Server

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

使用Pragma

Pragma: application-version=1.0.0-SNAPSHOT 

之间不能决定

或顾客标题

X-ApplicationVersion: 1.0.0-SNAPSHOT 

要使用ViaServer我的心是语义上不正确,但使用X-头蕴藏着通过代理被丢弃的风险,但Pragma是不受约束的,从而更难以解析,如果想以编程方式使用它。

我也有一种感觉,多个Server标题将不被尊重,但没有办法指定与我正在使用的容器(JBoss)的多个值。

这有什么先例吗?
任何人有任何提示?
我应该闭嘴并使用它吗?

要使用通过或服务器我的心是语义上不正确,但使用 的X-头蕴藏着通过代理被丢弃的风险

我不会太担心的X头是下降。借此调用易趣发现服务例如

http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&keywords=harry%20potter

该响应包括该标头。

X-EBAY-SOA-SERVICE-VERSION: 1.12.0 

我看过X头文件用于这个目的非常多。

+0

谢谢Deepak,使用“非标准”头文件让我感到紧张,但似乎是元数据最常见的。我只是警惕不使用内置的功能,在这种情况下Roy Fielding会评论我的服务! :) – James 2013-03-20 14:11:26

+2

哈哈!说起罗伊和标准/风格,你可能会发现这篇博文很有趣 - http://www.subbu.org/blog/2012/04/protocols-vs-styles – 2013-03-20 14:19:08

+0

伟大的文章,感谢您的帮助! – James 2013-03-20 15:04:11