意味
RESTクライアント要求の処理中に、ライブラリは条件付き処理に関連するHTTPヘッダーの存在を確認します。サーバー側の条件付き処理は、これらの条件付きHTTPヘッダーの少なくとも1つがHTTPRESTクライアント要求に存在する場合にのみトリガーされます。それ以外の場合、条件付き処理なしの処理はサーバー側で行われます。
これらは、REST要求を条件付きにするためにABAPRESTサーバーによって認識されるHTTPヘッダーです。詳細については、HTTP 1.1プロトコルを参照してください(<http://www.ietf.org/rfc/rfc2616.txt>):
-
一致する場合:
新しいリクエストでRESTクライアントがこのヘッダーを設定することは、クライアントがリクエストURIで識別されるリソースを以前に取得し、以前のレスポンスからETagを取得し、現在のリソース状態のETAGがETAGは、If-Matchヘッダーを使用して送信します。
参照:<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24>>
-
If-None-Match:
このヘッダーを使用すると、RESTクライアントは、現在のリソース状態のETAGがIf-Matchヘッダーで送信されたETAGと一致しない場合にのみ、要求を実行する必要があるという条件付き情報をサーバーに提供します。このヘッダーは、キャッシュの更新によく使用されます。
参照:<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26>>
-
If-Modified-Since:
このHTTPヘッダーにはタイムスタンプが含まれています。これは、使用されたURIに割り当てられたリソースが指定されたタイムスタンプ以降に変更された場合にのみ、RESTクライアントが要求の実行を期待することを示します。
参照:<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25>>
-
変更されていない場合-以降:
このHTTPヘッダーにはタイムスタンプが含まれています。これは、使用されたURIに割り当てられたリソースが指定されたタイムスタンプ以降に変更された場合にのみ、RESTクライアントが要求の実行を期待することを示します。
参照:<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.28>>
条件付き処理がRESTサーバーに実装されている場合、「条件付き処理の実装」セクションで説明されているメソッドGET_CONDITIONAL_INFOは、正しい条件付き処理を実行するためにライブラリーに必要な情報を提供します。
ETag形式は、HTTP仕様で説明されています:ETag(<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19>)。HTTPヘッダーで使用されるタイムスタンプ形式If-Modified-SinceおよびIf-Unmodified-Sinceは、HTTP:Full Date(<http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1>)。