gpt4 book ai didi

web-services - HTTP 响应 header - 应用程序版本

转载 作者:可可西里 更新时间:2023-11-01 15:17:51 26 4
gpt4 key购买 nike

我正在尝试想出一种方法来使用 HTTP 来公开 Web 服务(REST 和 SOAP 接口(interface))的特定内部版本号以响应消息。

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

我花了很长时间查看 HTTP 规范,无法决定是使用 Pragma

Pragma: application-version=1.0.0-SNAPSHOT

使用额外的 Server header

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

使用Via

Via: MyService-1.0.0-SNAPSHOT

或客户 header

X-ApplicationVersion: 1.0.0-SNAPSHOT

在我看来,使用 ViaServer 在语义上是不正确的,但使用 X- header 会承担被代理丢弃的风险但是 Pragma 是不受约束的,因此如果想以编程方式使用它会更难解析。

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

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

最佳答案

To my mind using a Via or a Server is semantically incorrect but using an X- header bears the risk of being dropped by proxies

我不会太担心 X header 被丢弃。以调用 ebay 查找服务为例

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

响应包含此 header 。

X-EBAY-SOA-SERVICE-VERSION: 1.12.0

我已经看到 X header 被大量用于此目的。

关于web-services - HTTP 响应 header - 应用程序版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com