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

1. はじめに

この文書は、HTTP メッセージ [HTTP](リクエストまたはレスポンス)を表現するための簡単な形式を定義します。これにより、HTTPプロトコルの外部で伝達できるHTTPメッセージのエンコーディングが可能になります。これにより、認証付き暗号化の適用を含む、メッセージ全体の変換が可能になります。

この形式の設計は、HTTP/2 [HTTP/2] と HTTP/3 [HTTP/3] のフレーミング構造に基づいています。メッセージを構築するためのルールはHTTP/2で定義されたルールに依存していますが、形式自体は異なります。セクション6を参照してください。

この形式は、[HTTP/1.1] で定義されている "message/http" コンテンツタイプのバイナリ代替である "message/bhttp" を定義します。バイナリ形式により、メッセージのより効率的なエンコードと処理が可能になります。バイナリ形式は、HTTPメッセージの処理に関連するセキュリティ問題へのさらされる可能性も減らします。

2つのエンコーディングモードが説明されています:

  • 既知長エンコーディングは、すべての主要なメッセージコンポーネントに長さプレフィックスを含み
  • 不定長エンコーディングは、エンコーディング開始時に長さがわからないメッセージの効率的な生成を可能にします

この形式は、有効なHTTPメッセージのセマンティクスを可能な限りシンプルかつ効率的に伝達するように設計されています。特定のHTTPバージョン [HTTP/1.1] [HTTP/2] [HTTP/3] からのメッセージのエンコーディングのすべての詳細をキャプチャするようには設計されていません。そのため、この形式は、メッセージのエンコーディングの正確な記録に依存するアプリケーションには適していない可能性があります。