背景知识
示例域名
文档需要一些看起来真实、但实际上不指向任何地方的地址。有些名称正是为此而保留的。另一些名称(例如 example-petstore.com)只是看起来像示例:它们是普通的已注册域名,发送给它们的任何内容都会到达一台真实的服务器。
保留名称
有两项标准为文档和测试保留了名称:
- RFC 2606(1999 年)保留了二级域名
example.com、example.net和example.org,以及顶级域名.test、.example、.invalid和.localhost。 - RFC 6761(2013 年)规定了软件和 DNS 应如何处理这些特殊用途名称。
IANA 在 example.com 上运行一个简单的页面,并声明示例域名可以在文档中使用,无需申请许可。IANA 预计会有一些来自配置错误的应用的流量,并要求开发者不要构建任何依赖于该页面的功能。
已注册的仿冒名称
example-petstore.com、example-commerce-host.com 或 my-example-blog.com 之类的名称虽然包含“example”一词,但并未被保留。任何人都可以注册它们,此后所有使用这些名称的链接、表单、跟踪调用或 API 请求都会到达注册者那里,其中携带的凭据也不例外。针对仿冒域名的研究表明了这类流量可能有多大:2017 年的一项研究发现,热门电子邮件服务商的拼写错误域名每年会收到数十万封误投的电子邮件。
从 2009 年起,Google 在其 Analytics 和 Search 文档中使用了 example-petstore.com 和 example-commerce-host.com。历史页面列出了具体的位置和时间。
应使用哪些名称
| 您需要 | 请使用 | 请避免 |
|---|---|---|
| 一个网站 | www.example.com | 虚构的名称,例如 example-petstore.com 或 mysite.com |
| 第二个网域(购物车、结账、合作伙伴) | 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 在每个地址上都显示一份说明,以 410 Gone 和 JSON 格式的说明响应 API 请求,并为访问者提供分步指南,帮助他们从自己的网站和代码中删除这些名称。
来源
- 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