今回の記事ではweb.devの「Understanding "same-site" and "same-origin"」を読んで理解したことをまとめて行きたいと思います。
Originの定義
次のURLがあったとして「 https://www.example.com:443 」それぞれの箇所を次の表のように定義されています。
箇所 | 名前 |
---|---|
https | scheme |
www.example | host name |
443 | port |
originの定義はscheme
+host name
+port
です。2つのドメインを比べた時にscheme
+host name
+port
が完全に一緒だったらsame-origin
、そうでなかったらcross-origin
と言います。
※余談 .comや.orgはトップレベルドメイン(TLD)と言います。このドメインはRoot Zone Databaseに保存されています。
Siteの定義
TLDの他にeTLDというドメインがある。eTLDはeffective top level domainの略で、TLDの前にキーワードを付与したドメインである。そのリストは以下のサイトに一覧で定義されている。
eTLDにキーワードを付与した値をeTLD+1と呼びます。例えば「my-project.github.io」といった感じです。このeTDL+1を別名Siteと言います。2つのOriginがある場合、eTDL+1が同一な場合はsame-site
、そうでなければcross-site
と言います。
参考文献: