この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

条件付き要求ヘッダー

リソースにアクセスする前に検証するには、条件付き要求ヘッダーを使用します。ヘッダーに前提条件を設定することで、その前提条件を満足する場合にのみ要求が成功するようになります。この機能により、Salesforce のデータを更新する際に、ミスを防止したり、古い要求を拒否できるようになります。条件付き要求ヘッダーには、応答のキャッシュなどのさまざまな手法を実装できます。

条件付き要求ヘッダーでは、厳しい入力規則と緩い入力規則の 2 種類の検証が可能です。厳しい入力規則では、前提条件と Salesforce のリソースが正確に一致するかどうかがチェックされます。厳しい入力規則ヘッダーには、If-MatchIf-None-Match があり、これらでエンティティタグ (ETag) を使用して、前提条件と Salesforce のレコードを比較します。

緩い入力規則では、Salesforce のリソースに対して前提条件がチェックされますが、両者が同一であることは保証されません。緩い入力規則ヘッダーには、If-Modified-SinceIf-Unmodified-Since などがあり、前提条件と Salesforce のレコードの最終更新日が比較されます。

REST API の条件付きヘッダーは HTTP 1.1 の仕様に準拠しますが、次の例外があります。
  • PATCH または POST 要求の If-MatchIf-None-Match、または If-Unmodified-Since に無効なヘッダー値を含めた場合、400 Bad Request 状況コードが返されます。
  • If-Range ヘッダーはサポートされていません。
  • DELETE 要求はサポートされません。

ETag

ETag ヘッダーは、sObject Rows リソースにアクセスするときに返される応答ヘッダーです。後続の要求の If-Match および If-None-Match 要求ヘッダーがコンテンツに変更があるかどうかを判断するために使用するコンテンツのハッシュです。

このヘッダーは、sObject Rows (取引先レコードのみ) リソースでサポートされています。

この例では、REST API が返す ETag を示しています。

1ETag: "U5iWijwWbQD18jeiXwsqxeGpZQk=-gzip"

ETag ヘッダーの HTTP 1.1 仕様については、www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19 を参照してください。

If-Match

If-Match ヘッダーは、ETag のリストを含む sObject Rows の要求ヘッダーです。要求しているレコードの ETag が、ヘッダーで前提条件として指定した ETag と一致する場合は、要求が処理されます。いずれの ETag とも一致しない場合は、412 Precondition Failed 状況コードが返され、要求は処理されません。

このヘッダーは、sObject Rows (取引先レコードのみ) リソースをサポートしています。

次の例では、要求に If-Match ヘッダーが含まれています。

1If-Match: "Jbjuzw7dbhaEG3fd90kJbx6A0ow=-gzip", "U5iWijwWbQD18jeiXwsqxeGpZQk=-gzip"

If-Match ヘッダーの HTTP 1.1 仕様については、www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.24 を参照してください。

If-None-Match

If-None-Match ヘッダーは、If-Match の逆数である sObject Rows の要求ヘッダーです。要求しているレコードの ETag がヘッダーに指定した ETag と一致する場合は、要求が処理されません。GET または HEAD 要求では 304 Not Modified 状況コードが返され、PATCH 要求では 412 Precondition Failed 状況コードが返されます。

このヘッダーは、sObject Rows (取引先レコードのみ) リソースをサポートしています。

次の例では、要求に If-None-Match ヘッダーが含まれています。

1If-None-Match: "Jbjuzw7dbhaEG3fd90kJbx6A0ow=-gzip", "U5iWijwWbQD18jeiXwsqxeGpZQk=-gzip"

If-None-Match ヘッダーの HTTP 1.1 仕様については、www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26 を参照してください。

If-Modified-Since

If-Modified-Since ヘッダーは、時間ベースの要求ヘッダーです。要求は、ヘッダーで指定した日時以降にデータが変更された場合にのみ処理されます。いずれの ETag とも一致しない場合は、304 Not Modified 状況コードが返され、要求は処理されません。

このヘッダーでサポートされているリソースは、sObject RowssObject DescribeDescribe Global、および Invocable Actions です。

次の例では要求に If-Modified-Since ヘッダーが含まれています。

1If-Modified-Since: Tue, 10 Aug 2015 00:00:00 GMT

If-Modified-Since ヘッダーの HTTP 1.1 仕様については、www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25 を参照してください。

If-Unmodified-Since

If-Unmodified-Since ヘッダーは、If-Modified-Since の逆数である要求ヘッダーです。要求に If-Unmodified-Since ヘッダーを追加して実行する場合、この要求は指定した日付以降にデータが変更されていない場合にのみ処理されます。いずれの ETag とも一致しない場合は、412 Precondition Failed 状況コードが返され、要求は処理されません。

このヘッダーでサポートされているリソースは、sObject RowssObject DescribeDescribe Global、および Invocable Actions です。

次の例では要求に If-Unmodified-Since ヘッダーが含まれています。

1If-Unmodified-Since: Tue, 10 Aug 2015 00:00:00 GMT

If-Unmodified-Since ヘッダーの HTTP 1.1 仕様については、www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.28 を参照してください。