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

12. Changes from RFC 2279 (RFC 2279からの変更点)

このセクションでは、前の仕様RFC 2279と比較して、RFC 3629で行われた変更を文書化します。

文字範囲の制限 (Character Range Restriction)

文字の範囲を0000-10FFFF(UTF-16アクセス可能範囲)に制限しました。

これは、UTF-8をUnicode定義の文字空間に制限し、以前は許可されていたがU+10FFFFを超える実用的でない範囲を除外する重要な変更です。

規範的ソースの変更 (Normative Source Change)

UnicodeをUTF-8の規範的定義のソースとし、ISO/IEC 10646を文字の参照として保持しました。

この変更は、UTF-8エンコーディング規則の主要な権威ソースとしてUnicodeを認識し、ISO/IEC 10646は文字レパートリーの参照として残ります。

用語の明確化 (Terminology Clarification)

用語を整理しました。UTF-8は、文字番号のエンコーディング形式の観点から記述されるようになりました。UCS-2とUCS-4はほぼ消えました。

更新された用語は、UTF-8を変換形式ではなくエンコーディング形式として、より明確で一貫性のある記述を提供します。

無効なシーケンスの処理 (Invalid Sequence Handling)

無効なシーケンスのデコードに対する警告の注記を、規範的なMUST NOTに変更しました。

以前、無効なシーケンスに関する警告は参考情報でした。RFC 3629では、実装が無効なシーケンスをデコードしてはならない (MUST NOT) という規範的要件になりました。

BOMセクションの追加 (BOM Section Addition)

UTF-8 BOMに関する新しいセクションを追加し、プロトコルに対するアドバイスを提供しました。

セクション6は、以下について包括的なガイダンスを提供します:

  • BOMを使用または禁止する場合
  • さまざまなプロトコルコンテキストでBOMを処理する方法
  • プロトコル設計者への推奨事項

MIME登録の変更 (MIME Registration Change)

提案されていたUNICODE-1-1-UTF-8 MIME charset登録を削除しました。

バージョン固有のcharsetラベルは、修正第5版以降のすべてのUnicodeバージョンをカバーする汎用的な"UTF-8"ラベルを優先して削除されました。

ABNF構文の追加 (ABNF Syntax Addition)

有効なUTF-8オクテットシーケンスのABNF構文を追加しました

セクション4には、有効なUTF-8バイトシーケンスを正確に定義する正式なABNF文法が含まれており、実装者がUTF-8データを検証しやすくなっています。

セキュリティセクションの拡張 (Security Section Expansion)

セキュリティに関する考慮事項セクションを拡張し、特にUnicode正規化の影響について追加しました

セキュリティセクションは、以下を含めるように大幅に強化されました:

  • 過長エンコーディング攻撃の詳細な議論
  • バッファオーバーフローのリスク
  • 正規等価性のセキュリティへの影響
  • Unicode正規化形式への参照

関連リンク