TLD(Top Level Domain)
URLの文字列で使用されるドメインにおいて、最上位レベルの文字列のことを指す。
example.co.jp のうち、末尾の「jp」がTLDで、「co」がセカンドレベルドメイン(2LD)、「example」が3LDといった具合で、「.」で分割される階層のうち、末尾のものをTLDという。
eTLD(Effective Top Level Domain・Public Suffix)
mozillaが策定している考え方で、Cookie維持の観点で従来のTLDだけでは正しく範囲を特定できないため、実質的なTLDといえるようなもの。
これらは特定のアルゴリズムで導き出すことができないため、Public Suffix Listというもので手動でまとめられている。
かなり前の記事だが、説明の抜粋。
広範なドメインを対象とするクッキー(Cookie)の動作を制限することで,クッキーの有効範囲を一つのドメインに限定する。クッキーはdomain属性を持っており,この属性を使ってユーザーの利用状況やアクセス権を定義する。例えばドメイン「xyz.example.com」が「domain=.example.com」属性を持つクッキーを発行した場合,このクッキーは「example.com」と,そのサブドメインで有効となる。ただし,RFCの規定では「domain=.com」のような広いドメイン属性のクッキーを発行してすべての「.com」ドメインを対象にしないよう,乱用を規制している。ここで問題が生じるのは「.co.uk」のようなドメインを持つ国々。「.co.uk」上のあらゆるWebサイトで使用可能なクッキーを設定できてしまうからだ。米マイクロソフトのWebブラウザ「Internet Explorer(IE)」は,セカンド・レベル・ドメインが3文字以上となるようクッキーを制限(つまり「.co.uk」は設定不可)し,既知の類似ドメインをブラックリスト化することで,この問題の解決を試みている。
https://xtech.nikkei.com/it/article/COLUMN/20080704/310146/
つまり、example.co.jpの場合はeTLDは「co.jp」となり、example.comの場合は「com」がeTLDとなる。
eTLD+1
eTLDに対して、ドメイン取得者が任意で命名できる文字列の一階層分までを示す。+の数が増えるほど、サブドメイン部分も含まれるという意味。
つまり、example.co.jpの場合はeTLD+1は「example.co.jp」となり、example.comの場合は「example.com」がeTLD+1となる。
また、foo.bar.example.co.jpの場合は、eTLD+1は「example.co.jp」、eTLD+2は「bar.example.co.jp」、eTLD+3は「foo.bar.example.co.jp」となる。
same-originとcross-origin
originはscheme(http・httpsなど)やhost name(eTLD+1、1階層目のサブドメインの場合はeTLD+2のFQDN)、portの組み合わせを指す。
scheme、host name、portのすべてが一致するものをsame-origin、それ以外をcross-originと呼ぶ。
このため、example.comとwww.example.comはhost nameが異なるため、cross-originな関係となる。
same-siteとcross-site
eTLD+1だけが同じものをsame-siteと呼び、そうでないものをcross-siteと呼ぶ。
またsame-siteに加えて、schemeも同一のものをschemefull same-siteと呼ぶ。