意味
RESTライブラリの条件付き処理は、使用されるHTTPメソッドと、RESTクライアント要求で設定された条件付き処理関連のHTTPヘッダーによって異なります。
-
得る:
条件付きGETメソッドは、条件付きヘッダーフィールドで記述された状況でのみ応答データがクライアントに転送されることを要求します。
-
If-Match:要求されたリソースは、ヘッダー値で指定されたものと同じETagを持っている必要があります。この場合、サーバーはリソースを返します。それ以外の場合は、HTTPリターンコード412( “前提条件が失敗しました”)を返します。
-
If-None-Match:リソースの現在のETagが提供されたETagと異なる場合、リソースが返されます。提供されたETagがサーバーで計算されたETagと同じである場合、RESTライブラリはHTTPリターンコード304(「変更なし」)を返します。
-
If-Modified-Since:指定されたタイムスタンプがサーバー側のリソースのタイムスタンプよりも古い場合、つまり、要求されたリソースで変更が実行され、クライアントがそのリソースデータを更新する必要がある場合にのみ、要求されたリソースがクライアントに返されます。指定されたタイムスタンプ以降に更新がなかった場合、HTTP応答コード304(「未変更」)がリソースのデータなしで返されます。無効な時間指定は無視されます。
-
変更されていない場合-以降:このヘッダーで指定されたタイムスタンプ以降に要求されたリソースが変更された場合、サーバーはHTTP応答コード412(「前提条件が失敗しました」)を返します。それ以外の場合は、要求されたリソースデータを返します。無効な時間指定は無視されます。
-
-
置く:
条件付きPUTメソッドは、条件付きヘッダーフィールドで記述された状況でのみエンティティを変更できることを要求します。
-
If-Match:指定されたETagが現在のリソースのETagと一致する場合、サーバーはURIで指定されたリソースの更新を実行します。更新が成功した場合の応答コードは204(「コンテンツなし」)です。提供されたETagがリソースの現在のETagと一致しない場合、サーバーはHTTP応答コード412(「前提条件に失敗しました」)で応答します。
-
If-None-Match:リクエストで指定されたETagが現在のリソースのETagと異なる場合、サーバーはURIで指定されたリソースの更新を実行します。更新が成功した場合の応答コードは204(「コンテンツなし」)です。提供されたETagがリソースの現在のETagと同一である場合、サーバーはHTTP応答コード412(「前提条件に失敗しました」)で応答します。
-
If-Modified-Since:指定されたタイムスタンプがリソースのタイムスタンプよりも古い場合、つまり、要求されたリソースが指定されたタイムスタンプの後に更新された場合、要求されたリソースは更新されます。更新の場合、応答コードは204(「コンテンツなし」)です。指定されたタイムスタンプがリソースのタイムスタンプよりも新しい場合、サーバーはHTTPリターンコード412(「前提条件に失敗しました」)で応答します。無効な時間指定(たとえば、将来のタイムスタンプ)は無視されます。
-
変更されていない場合-以降:指定されたタイムスタンプがリソースのタイムスタンプよりも新しい場合、要求されたリソースは更新されます。更新が成功した場合の応答コードは204(「コンテンツなし」)です。タイムスタンプがリソースのタイムスタンプよりも古い場合、サーバーはHTTPリターンコード412(「前提条件に失敗しました」)で応答します。無効な時間指定(たとえば、将来のタイムスタンプ)は無視されます。
-
-
消去:
条件付きDELETEメソッドは、条件付きヘッダーフィールドで記述された状況でのみエンティティを削除するように要求します。
-
If-Match:指定されたETagが現在のリソースのETagと一致する場合、サーバーはURIで指定されたリソースに対して削除を実行します。削除が成功した場合の応答コードは204(「コンテンツなし」)です。提供されたETagがリソースの現在のETagと一致しない場合、サーバーはHTTP応答コード412(「前提条件に失敗しました」)で応答します。
-
If-None-Match:リクエストで指定されたETagが現在のリソースETagと一致しない場合、サーバーはURIで指定されたリソースに対して削除を実行します。削除が成功した場合の応答コードは204(「コンテンツなし」)です。提供されたETagがリソースの現在のETagと一致する場合、サーバーはHTTP応答コード412(「前提条件に失敗しました」)で応答します。
-
If-Modified-Since:指定されたタイムスタンプがリソースのタイムスタンプより古い場合、つまり、指定されたタイムスタンプの後にリソースが変更された場合、URIで指定されたリソースは削除されます。削除が成功すると、サーバーはHTTPリターンコード204(「コンテンツなし」)で応答します。削除が行われない場合、サーバーはHTTPリターンコード412(「前提条件に失敗しました」)で応答します。無効な時間指定(たとえば、将来のタイムスタンプ)は無視されます。
-
変更されていない場合-以降:指定されたタイムスタンプがリソースのタイムスタンプよりも新しい場合、つまり、指定されたタイムスタンプの後にリソースが変更されなかった場合、要求されたリソースは削除されます。削除が成功した場合の応答コードは204(「コンテンツなし」)です。削除が行われない場合、サーバーはHTTPリターンコード412(「前提条件に失敗しました」)で応答します。
-
-
役職:
ヘッダーのIf-Matchが値*に設定されている場合、この条件付きPOSTは失敗します。その場合のみ、返されるHTTPコードは412(「前提条件が失敗しました」)です。他の条件付き処理に関連するHTTPヘッダーは、POSTコマンドでは無視されます。
複数の条件付きヘッダーが指定されている場合、それらは論理AND演算子と組み合わされます。つまり、1つの条件が失敗すると、要求を実行できません。