HTTP ステータス コード 402 は、「支払いが必要です」とも呼ばれ、ハイパーテキスト転送プロトコル (HTTP) の標準応答コードです。これは、インターネット技術特別調査委員会(IETF) によって RFC 7231 [1]仕様 で定義された HTTP/1.1 プロトコルの一部です。
説明
HTTP 402 ステータス コードは、クライアントが要求されたリソースにアクセスするために支払いを行う必要があることを示します。[2]これは通常、サーバーがコンテンツまたはサービスへのアクセスを許可する前に支払いを要求する状況で使用されます。このコードは、さらに先に進むには金融取引または承認が必要であることを思い出させるものです。
402 ステータス コードは非標準と見なされており、HTTP プロトコルの機能を標準のステータス コード セットを超えて拡張するために導入されました。このコードは、要求されたリソースにアクセスする前に、支払いプロセスを完了するためのアクションを実行する必要があることをクライアントに明確に示します。
例
クライアントのリクエスト:
GET /index.php HTTP / 1.1
ホスト: www.example.org
サーバー応答: [3]
HTTP / 1.1 402 支払いが必要です
場所: https://www.example.org/index.asp
使用法
HTTP 402 ステータス コードは、通常、ユーザーが支払いを完了するまでコンテンツやサービスへのアクセスが制限される電子商取引やサブスクリプション ベースのシステムで使用されます。次のようなさまざまなシナリオで使用できます。
- サブスクリプションの更新: ユーザーのサブスクリプション プランの有効期限が切れ、プレミアム コンテンツにアクセスしようとすると、サーバーは 402 ステータス コードで応答し、ユーザーにサブスクリプションの更新を促すことがあります。
- ペイウォール: 特定の記事、ニュースコンテンツ、プレミアム機能にアクセスするためにユーザーに支払いを要求するウェブサイトは、402ステータスコードを使用して、続行するには支払いが必要であることを示すことができます。[4]
- デジタル製品: デジタル商品、ソフトウェア ライセンス、デジタル メディア ダウンロードを販売するオンライン プラットフォームでは、購入したアイテムへのアクセスを許可する前に支払いを強制するために 402 ステータス コードが使用される場合があります。
実験的
HTTP ステータス コード 402 は現在、 HTTP プロトコル内で実験的なコードとして分類されています。このような実験的なコードは、新しい機能やアイデアを評価し、実際の適用を判断するために導入されています。402 ステータスの指定は、特定のリソースまたはサービスを取得するために支払いが義務付けられていることを意味します。ただし、この暫定的なステータスは、主流の採用が限られていることを示しています。Web 開発者や機関は、認められた HTTP 標準に準拠し、安定した、徹底的に文書化されたステータス コードを使用することをお勧めします。402 コードは実験的に使用される場合もありますが、潜在的な矛盾や互換性の問題があるため、注意が必要です。[5]
応答表現
HTTP 402レスポンスには、クライアントに支払い要件に関する追加情報を提供するエンティティ本体が付随します。このエンティティ本体は、HTML、XML、JSONなどさまざまな形式で提供され、通常は支払い金額、受け入れられる支払い方法、取引を完了するための手順などの詳細が含まれます。[6]
サーバーは、支払い処理が完了した後、クライアントがリクエストを再試行するまでに待機する時間を示すRetry-Afterなどの関連ヘッダーを応答に含めることもできます。[6]
他のステータスコードとの関係
HTTP 402 ステータス コードは、より一般的に使用される403 Forbidden ステータス コードと混同しないでください。 [7]どちらのコードもリソースへのアクセスが制限されていることを示しますが、違いは制限の理由にあります。402 コードは具体的には支払いが必要であることを意味しますが、403 コードは権限不足や認証失敗などの他の理由によりアクセスが禁止されていることを意味します。
サーバーが支払いを要求する一方で、アクセスが拒否された理由についての追加情報を伝えたい場合には、403ステータスコードと一緒に402ステータスコードを含めるのが一般的です。この組み合わせにより、支払い要件を伝えながら、クライアントにより多くのコンテキストを提供することができます。[8]
参考文献
- ^ハイパーテキスト 転送プロトコル (HTTP/1.1): セマンティクスとコンテンツ。IETF。sec . 6.5.2。doi : 10.17487/ RFC7231。RFC 7231 。
- ^ HTTP ステータス コード 402 支払いが必要です
- ^ developer.mozilla.org レスポンスの例
- ^ HTTP ステータス コード 402 402 ステータス コードの一般的な説明
- ^ developer.mozilla.org 実験的
- ^ ab Fielding, R., Gettys, J., Mogul, J., et al. (1999). 「[rfc:2616 ハイパーテキスト転送プロトコル -- HTTP/1.1]」. RFC 2616. IETF.
- ^ stackoverflow.com http 応答ステータス コード 402 と 403 の違い
- ^ HTTPステータスコード402と403の違い
外部リンク
- HTTP ステータス コード 402 http-statuscode.comでの支払いが必要です
- 402 developer.mozilla.orgで支払いが必要です
