具体的には JAX-RS (関連性があるかどうかはわかりません) には、応答に EntityTags を追加できるメソッドがあります。エンティティ タグとは具体的にどのようなもので、どのような実用的な方法で使用されますか?
3 に答える
エンティティ タグは、キャッシングを HTTP プロトコルに組み込む方法です。ETag
サーバーが応答を返すとき、クライアントの要求に応答して返されたオブジェクトの状態を表す値を与えるヘッダーを添付できます。
クライアントが同じ応答に対して後続の要求を行う場合、If-None-Match
ヘッダーを使用してその要求で ETag を送り返すことができ、サーバーはこれを使用して、新しい応答を送信する必要があるかどうかを判断できます (つまり、要求されたオブジェクトの状態が変更された) またはローカルにキャッシュされたコピーを使用するようにクライアントに指示する 304 Not Modified 応答で応答できるかどうか。
これは、キャッシュとオブジェクトの状態が関連する RESTful API およびアプリケーションで最もよく使用されます。
ジュリアンの参照に加えて: 一般に、エンティティ タグを使用すると、クライアント、サーバー、および仲介者がリソースの特定の表現 (したがってエンティティタグ) に同意することができます。
契約は、ネットワークの使用 (条件付き取得) および同時実行制御 (条件付き更新) を削減するために使用されます。前者は「このリソースの現在の表現が既にある表現でない場合は送信してください」という行に沿って機能し、後者は「そのリソースがまだ期待どおりの状態にある場合は、この変更をそのリソースに適用します」という行に沿って機能しますそれは持っている」)。
残りは、HTTP 仕様で詳細に説明されています。
1月
RFC 2616 のセクション 3.11 を参照してください。