11.7. Combinations of Delimiter Characters (区切り文字の組み合わせ)
IPv6アドレスには、他の種類の区切り文字が定義されています。このサブセクションでは、非グローバルアドレスの形式とどのように組み合わせるべきかを説明します。
IPv6アドレッシングアーキテクチャ [1] は、IPv6プレフィックスの構文も定義しています。プレフィックスのアドレス部分が非グローバルであり、そのスコープゾーンを明確にする必要がある場合、アドレス部分はこの形式であるべきです (SHOULD)。例えば、2番目のリンク上のリンクローカルプレフィックスfe80::/64は、次のように表現できます:
fe80::%2/64
この組み合わせでは、名前からアドレスへのライブラリ関数 [11] でこの形式を解析することを考慮する場合、プレフィックス長の前にゾーンインデックス部分を配置することが重要です。つまり、最初にゾーンインデックスを含むアドレスをプレフィックス長から分離し、前者をライブラリ関数に渡すだけです。
URLでのリテラルIPv6アドレスの推奨形式も定義されています [12]。ユーザーが、ゾーンを明示的に指定する必要があるIPv6非グローバルアドレスの推奨形式を入力する場合、ユーザーは、推奨形式と組み合わせた非グローバルアドレスの形式を使用できます。
ただし、入力されたURLはしばしばネットワーク上で送信され、アプリケーションが送信前に <zone_id> 部分を除去しない場合、混乱を引き起こします。アプリケーションは、使用しているアドレスの種類を気にする必要はなく、ましてやアドレスの <zone_id> 部分を解析または除去する必要もありません。
また、非グローバルアドレスの形式は、URI構文 [13] と競合する可能性があります。構文は区切り文字 (%) をエスケープ文字として定義しているためです。この競合により、例えば、区切り文字を含むゾーン1の <zone_id> 部分は '%251' として表現される必要があります。これはまた、他のソースからエスケープされていない形式を単純にコピーして、URIパーサーへの入力として使用できないことを意味します。さらに、URIパーサーが名前からアドレスへのライブラリに渡す前にエスケープされた形式を変換しない場合、変換は失敗します。これらすべての問題により、このセクションで説明されているテキスト表現の利点が減少します。
したがって、この文書は、非グローバルアドレスの形式が、リテラルIPv6アドレスの推奨形式とどのように組み合わせるべきかを規定していません。いずれの場合でも、FQDNが利用可能な場合は、URL内でリテラルIPv6アドレスではなく、FQDNを使用することが推奨されます。