7

メッセージへの応答で HTTP を使用して、Web サービス (REST および SOAP インターフェイス) の特定のビルド番号を公開する方法を考え出そうとしています。

明確にするために、クライアントが使用しているアプリケーションのバージョンを制御しようとしているわけではありません。これは、トラフィック マネージャーとサービス レジストリによって処理されるためです (これも既に説明しました)。後でどのバージョンをデバッグできるようにしたいだけですか?たとえば、Traffic Manager が正しいバージョンを提供しているかどうかを確認するために使用されたか、または使用されています。

私は長い間 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

私の考えでは、 aViaまたは aを使用することServerは意味的に正しくありませんが、X-ヘッダーを使用するとプロキシによってドロップされるリスクがありますが、Pragma制約がないため、プログラムで使用する場合は解析が難しくなります。

また、複数のServerヘッダーが尊重されない気がしますが、使用しているコンテナー (JBoss) で複数の値を指定する方法はありません。

これには前例がありますか?
誰にもヒントはありますか?
黙って使ったほうがいいですか?

4

1 に答える 1

4

私の考えでは、ビアまたはサーバーを使用することは意味的に正しくありませんが、X-ヘッダーを使用すると、プロキシによってドロップされるリスクがあります

X ヘッダーがドロップされることについてはあまり心配しません。たとえば、この電話を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

応答にはこのヘッダーが含まれます。

X-EBAY-SOA-SERVICE-VERSION: 1.12.0

この目的で X ヘッダーがかなり多く使用されているのを見てきました。

于 2013-03-20T13:50:09.763 に答える