背景
サンプル ドメイン
ドキュメントには、本物らしく見えてもどこにもつながらないアドレスが必要です。まさにそのために予約されている名前があります。一方、example-petstore.com のような名前はサンプルに見えるだけで、実際には通常の登録済みドメインです。そこに送信されたものは、すべて実在のサーバーに届きます。
予約済みの名前
ドキュメントやテストのための名前は、2 つの標準で予約されています。
- RFC 2606(1999年)は、セカンドレベル ドメイン
example.com、example.net、example.orgと、トップレベル ドメイン.test、.example、.invalid、.localhostを予約しています。 - RFC 6761(2013年)は、ソフトウェアと DNS がこれらの特殊用途の名前をどう扱うべきかを定めています。
IANA は example.com でシンプルなページを運営しており、サンプル ドメインは許可を得ずにドキュメントで使用できると
明記しています。誤って設定されたアプリケーションからある程度のトラフィックが届くことを想定したうえで、そのトラフィックに依存する
仕組みを作らないよう開発者に求めています。
登録済みの紛らわしいドメイン
example-petstore.com、example-commerce-host.com、my-example-blog.com のような名前には「example」という語が含まれていますが、 予約されてはいません。誰でも登録でき、登録されると、その名前を使うリンク、フォーム、トラッキング呼び出し、API リクエストは、 含まれる認証情報も含めてすべてその所有者に届きます。紛らわしいドメインに関する調査は、その量がどれほどになりうるかを示しています。 2017年の研究では、人気のメール プロバイダのタイプミス ドメインに、年間数十万通の誤送信メールが届いていたことがわかりました。
Google は 2009年以降、アナリティクスと検索のドキュメントで example-petstore.com と example-commerce-host.com を使用してきました。 使われた場所と時期は経緯にまとめています。
使用すべき名前
| 必要なもの | 使用する名前 | 避ける名前 |
|---|---|---|
| ウェブサイト | www.example.com | example-petstore.com や mysite.com などの架空の名前 |
| 2 つ目のドメイン(カート、チェックアウト、パートナー) | example.net または example.org | example-commerce-host.com、example-b.com |
| サブドメイン | shop.example.com、api.example.com | api.example-petstore.com |
| 内部ホストやテスト用ホスト | app.test、db.example | .com や .io の下の本物らしい名前 |
| 決して名前解決されてはならないアドレス | anything.invalid | — |
| メールアドレス | user@example.com | 登録済みドメインのアドレス |
このドメインの役割
example-petstore.com と example-commerce-host.com は、どのアドレスでも説明を表示し、API リクエストには JSON による説明とともに
410 Gone を返します。また、サイトやコードからこれらの名前を削除するためのステップごとのガイドを
案内しています。
出典
- RFC 2606: Reserved Top Level DNS Names IETF
- RFC 6761: Special-Use Domain Names IETF
- Example Domains IANA
- IANA-managed Reserved Domains IANA
- Email Typosquatting (Szurdi and Christin, IMC 2017) ACM Internet Measurement Conference