メインコンテンツまでスキップ

7. Error Codes (エラーコード)

エラーコード (Error codes) は、RST_STREAMおよびGOAWAYフレームで使用される32ビットフィールドであり、ストリームまたは接続エラーの理由を伝えます。

エラーコードは共通のコード空間を共有します。一部のエラーコードはストリームまたは接続全体のいずれかにのみ適用され、他のコンテキストでは定義されたセマンティクスを持ちません。

以下のエラーコードが定義されています:

NO_ERROR (0x00): 関連する条件はエラーの結果ではありません。たとえば、GOAWAYには、接続の正常なシャットダウンを示すためにこのコードが含まれる場合があります。

PROTOCOL_ERROR (0x01): エンドポイントが不特定のプロトコルエラーを検出しました。このエラーは、より具体的なエラーコードが利用できない場合に使用されます。

INTERNAL_ERROR (0x02): エンドポイントが予期しない内部エラーに遭遇しました。

FLOW_CONTROL_ERROR (0x03): エンドポイントが、そのピアがフロー制御プロトコルに違反したことを検出しました。

SETTINGS_TIMEOUT (0x04): エンドポイントが妥当な時間内にSETTINGSフレームへの応答を受信しませんでした。セクション6.5.3 (「設定同期」) を参照してください。

STREAM_CLOSED (0x05): エンドポイントが、ストリームがhalf-closed状態になった後にフレームを受信しました。

FRAME_SIZE_ERROR (0x06): エンドポイントが無効なサイズのフレームを受信しました。

REFUSED_STREAM (0x07): エンドポイントが、アプリケーション処理を実行する前にストリームを拒否しました (詳細についてはセクション8.7を参照)。

CANCEL (0x08): エンドポイントは、ストリームが不要になったことを示すためにこれを使用します。

COMPRESSION_ERROR (0x09): エンドポイントが、接続のフィールドセクション圧縮コンテキストを維持できません。

CONNECT_ERROR (0x0a): CONNECTリクエスト (セクション8.5) に応答して確立された接続がリセットされたか、異常に閉じられました。

ENHANCE_YOUR_CALM (0x0b): エンドポイントが、そのピアが過度の負荷を生成する可能性のある動作を示していることを検出しました。

INADEQUATE_SECURITY (0x0c): 基盤となるトランスポートに、最小限のセキュリティ要件を満たさないプロパティがあります (セクション9.2を参照)。

HTTP_1_1_REQUIRED (0x0d): エンドポイントがHTTP/2の代わりにHTTP/1.1を使用することを要求します。

未知またはサポートされていないエラーコードは、特別な動作をトリガーしてはなりません (MUST NOT)。これらは実装によってINTERNAL_ERRORと同等として扱われる場合があります (MAY)。


第7章完了!