ドメイン名やホスト名で毎回ググるので今回はこれらの定義や違いについてまとめたいと思います。
ドメイン名
ドメイン名とは、インターネット上の特定のネットワークのことです。僕の場合はお名前ドットコムでsakaishun.comというドメインを取得したのですが、これがドメインです。
https://blog.sakaishun.com
のsakaishun.com
の部分がこれに相当します。
ドメイン名の命名規則としては以下の3点です。ドメインはピリオドで区切られ、その区切り段位をラベルと呼びます。
- 一つのラベルの長さは63文字以下
- ドメイン名全体の長さはピリオドを含めて253文字以下
- ラベルには英字(A~Z)、数字(0~9)、ハイフン(-)が使用可能
注意点としては以下の2点です。
- ラベルの先頭と末尾の文字をハイフンとするのは不可
- ラベル中では大文字・小文字の区別はなく同じ文字とみなされる
APIのパス名もこのドメイン名の命名規則に則ってつけたほうがいいと僕は考えています。(異論は認める)
ドメインのラベルの中で最も右側の部分をトップレベルドメインといいます。トップレベルドメインは IANAによってインターネット標準として登録されています。
トップレベルドメインより左側にある部分は順に第二レベルドメイン、第三レベルドメインといいます。上の例でいうと、sakaishun
がこれにあたります。個人がドメインを所有したい場合は、最上位のドメインレジストリで許可されているドメイン名を レジストラに登録する必要があります。
ホスト名
ホスト名とはネットワーク内の特定のサーバーを指します。サブドメインとも呼ばれます。https://blog.sakaishun.com
であればblog
の部分がこれに相当します。
ドメインの取得者であれば、自由に何個でも作成することができます。
補足
メールアドレスのバリデーションを実装する際、メールアドレスのローカル部分(@より前の文字列のこと)の大文字小文字の区別はどうなっているんだろうと気になったので、調べてみると以下のような記述が見つかりました。
規格の上ではメールアドレスのローカル部(※ローカル部とは@より前の文字列のことです)の大文字・小文字は区別されます。しかし実際には区別することなく運用されているメールサーバがほとんどです。
https://www.too.com/support/faq/mail/22342.html
実際はどうなっているんだろうと疑問に思い、調べられる範囲で調べてみました。
メール | 大文字・小文字の区別 |
Gmail | あり |
Yahoo | なし |
ICloud | なし |
大文字小文字を区別するメールサーバも実際には存在して、それがよく使われているGmailなので、大文字小文字は区別したほうがよさそうですね。
以上、ここまで読んでいただきありがとうございました。
参考
https://www.too.com/support/faq/mail/22342.html
https://developer.mozilla.org/ja/docs/Glossary/Domain
https://www.nic.ad.jp/ja/dom/system.html