label-separators

ラベル分離子 (ドメイン名)

[1] ラベル分離子 (label separator) は、ドメイン名においてラベルを分離する (dot) です。 普通は . が用いられます。

仕様書

ASCII ドメイン名の場合

[9] ASCIIドメイン名の場合、ラベル分離子として使われるは、 U+002E FULL STOP (.) です。

IDN の場合

[4] (ドット) (dot) ラベル分離子 (label separator) として使われる時には、 次の文字として認識しなければなりません>>3

[11] UTS #46 でも >>4 と同じ定義になっています >>10

末尾の点

[14] ドメイン名の末尾で使われることもあります。これは TLD と更にその上位の空文字列ラベル (根ドメイン) を区切るものです。

末尾の点参照。

歴史

IDNA2003

[15] IDNA2003 で、非ASCII文字にも拡大されました。

[19] RFC 3490 2.

(IDNA適合すると主張する場合) (dots) 名札分離子として使用する場合、 次の文字として認識しなければなりません: U+002E (句点)、 U+3002 (表意文字的句点)、 U+FF0E (全角句点)、 U+FF61 (表意文字的半角句点)。

IDNA2008

[12] IDNA2008 ではラベル分離子の定義は削除され、ドメイン名をどうラベルの列として解釈するかは利用者インターフェイスの問題であって仕様の範囲外であるとしています。

[13] RFC 5895 ではそのような利用者インターフェイスでの処理の例が示されていますが、 そこでは全角半角の正規化と IDEOGRAPHIC FULL STOPラベル分離子的な取り扱いが規定されているので、それに従うと >>4 の定義と同じとなります。

[16] これは非互換変更というか、本来相互運用性に必要だった部分を実装依存として標準化を放棄する改悪です。

[18] 例えば HTML文書

<a href=https://www。example。test/>関連サイト</a>
... と書かれていた時、リンク先URL の表すものが IDNA2003 時代には明確でしたが、 IDNA2008 時代になって突然どう解釈するべきものかわからなくなってしまいました。

[17] そこでドメイン名が与えられたときの処理は RFC にかわって UTS #46 で規定されるようになりました。現在の URL Standard の規定やWebブラウザーの挙動は、こちらが根拠となっていて、 IDNA2003 時代の処理の規定が引き継がれています。