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
要使用Via
或Server
我的心是语义上不正确,但使用X-
头蕴藏着通过代理被丢弃的风险,但Pragma
是不受约束的,从而更难以解析,如果想以编程方式使用它。
我也有一种感觉,多个Server
标题将不被尊重,但没有办法指定与我正在使用的容器(JBoss)的多个值。
这有什么先例吗?
任何人有任何提示?
我应该闭嘴并使用它吗?
答
要使用通过或服务器我的心是语义上不正确,但使用 的X-头蕴藏着通过代理被丢弃的风险
我不会太担心的X头是下降。借此调用易趣发现服务例如
该响应包括该标头。
X-EBAY-SOA-SERVICE-VERSION: 1.12.0
我看过X头文件用于这个目的非常多。
谢谢Deepak,使用“非标准”头文件让我感到紧张,但似乎是元数据最常见的。我只是警惕不使用内置的功能,在这种情况下Roy Fielding会评论我的服务! :) – James 2013-03-20 14:11:26
哈哈!说起罗伊和标准/风格,你可能会发现这篇博文很有趣 - http://www.subbu.org/blog/2012/04/protocols-vs-styles – 2013-03-20 14:19:08
伟大的文章,感谢您的帮助! – James 2013-03-20 15:04:11