例示用・テスト用ドメインについて知る

Tech

こんにちは。豊田です。
前回は、例示用IP・テスト用IPアドレスについてブログを書きました。

例示用IPアドレスについて知る
TL;DR IPアドレス(v4, v6)にはドキュメントへの記載用のアドレスが予約されています。(RFC5737 / RFC3849) ドキュメントに記載するアドレス際は、適切な専用のIPアドレスを使いましょう。 素朴な疑問 弊社で...

上記ブログでも触れていますが、私たちは職業柄IPアドレスよりもドメインを使うケースが多いのですが、実はドメインについても代表格である”example.com”(とその他少し)しか知らないのでは?と疑問に思ったので、調べてみました。

はじめに結論

テスト用・例示用のドメインが用意されていることを知りました。(RFC2606 , RFC6761
特に以下は、今回気になっていた例示用・テスト用のドメインです。

  • ドキュメント例示用途向け
    • .example
      • TLD例示用
    • .example.com.example.org.example.net
      • セカンドレベルドメイン例示用
    • .jpドメイン
      • .example.jp.example.co.jp.example.ne.jp
      • 以下のバリエーションもある
        • .example1.jp ~ .example9.jp
        • .example1.co.jp ~ .example9.co.jp
        • .example1.ne.jp ~ .example9.ne.jp
      • ドメイン名例.jp
        • 日本語ドメイン版
      • xn--eckwd4c7cu47r2wf.jp
        • “ドメイン名例.jp”のpunycode
  • テスト用途向け
    • .test
      • DNSやネットワークのテスト用途として予約されている
      • テスト用途で予約はされているものの、本当にネットワークを介したテストを実施するのであれば、当然DNSの設定は必要になるので注意が必要

他にも用途別に多くのドメインが予約されています。
気になる方は調べてみてはどうでしょうか?(Wikipediaにも一覧が載っていました)

ドキュメント例示用途向けドメイン

まずは例示用と向けに予約されているドメインを列挙していきます。

.example

IANAのSpecial-Use Domain Namesとして定義されているトップレベルの例示用ドメインです。
明示的にトップレベルドメインを示したいときは、こちらを使うのが良さそうです。

このドメインは知りませんでした。覚えておこうと思います。

.example.com / .example.org / .example.net

同じくIANAのSpecial-Use Domain Namesに定義されている、セカンドレベルドメインです。

多くの人は.example.comに馴染みがあると思いますが、.org, .netも予約されていたのは初耳でした。
通常は.example.comを使いつつ、別のセカンドレベルドメインも例示するときには、こちらを使うのが良さそうです。

jpドメイン

.example.jp / .example.co.jp / .example.ne.jp

.jpドメインにおける例示用に予約されているドメインです。
.example.jp.example.co.jpは使えると知っていましたが、.example.ne.jpも使えるとは知りませんでした。

.ドメイン名例.jp(punycode: xn--eckwd4c7cu47r2wf.jp)

こちらも知りませんでした…
マルチバイト文字の例示用ドメインです。

こちらも、もしかしたら必要になるケースがあるかもしれないので、覚えておいても良さそうです。

テスト用途向けドメイン

次はテスト用途で予約されているドメインです。
こちらは一つだけです。

.test

DNSやネットワークのテスト用途として予約されたドメインです。

ネットワークを介するテストをする(独自にDNSなどを設定して運用するような)場合は、こちらを使うことが推奨されています。

というのも.testドメインは、その名前解決リクエストに対して基本的にエラー応答を返すよう、DNSの管理・運用者に要求しています。(RFC6761の6.2.4)
そのため、誤ってグローバルネットワークに出てしまうようなテストを書いたとしても、より上位のDNSからは「そんなドメイン知らん」と言われるだけで、ネットワークに不要な負荷をかけないような仕組みになっているからです。

限られたネットワーク内で完結することを想定したテストであれば、.testをテスト用途で使って良い。ということのようです。(しつこいですが、DNSの設定等は独自にちゃんとやっておく前提です)

専用ドメインを取得していない(これから取得する)ようなケースなどでは、非常に有効な手段となりそうです。

おまけ

その他にも色々とドメインが予約されていますが、その中で .invalidというドメインは興味深かったです。

こちらは「無効なドメイン」を示すドメインであり

  • 誤って外部にリクエストを送ってしまう可能性のある設定の初期値
  • 名前解決に失敗することを期待するテスト
  • 無効なURLの例示
  • ダミーメールアドレス

といった場面で利用できます。

まとめ

例示用・テスト用のドメインについても知らないドメインがいくつかありました。(他の用途で言えば、もっとたくさん専用ドメインが予約されていました)

多くの場合.example.comで事足りてしまうことが多いですが、知識の引き出しとして覚えておくと、助かる場面があるかもしれません。

タイトルとURLをコピーしました