此页面面向正在寻找有关是否在其规范网站 URL 中使用 www 的信息的网站管理员。

首先,一些术语。不带的域名www有时被称为裸域,我将在这里引用它。

为什么要使用www?

你应该使用 www,因为今天你有一个小网站,明天你想要一个大网站。真的很大。

使用的技术原因www主要适用于每天接收数百万(或更多)页面浏览量的最大网站、跨多个子域提供大量服务的网站,以及由“云”托管的几乎所有网站。应用服务提供商。

例如,Heroku强烈建议不要使用裸域。当使用 Heroku 或 Akamai 等提供商托管您的网站时,提供商希望能够更新 DNS 记录,以防需要将流量从故障服务器重定向到正常服务器。这是使用 DNS CNAME 记录设置的,裸域不能有 CNAME 记录。只有当您的站点变得足够大以需要使用此类服务​​进行高度冗余托管时,这才是一个问题。但是谁不希望他们的网站变得那么大呢?为了不使用 www,您必须运行自己的服务器群,并且您将无法最大程度地使用此类服务​​。(另请参阅:为什么 Heroku 会针对“裸”域名发出警告?

另一个原因与cookie有关。一种常见的网站优化是提供来自子域的静态内容,例如static.example.com. 如果您正在使用www,那么这没问题;您网站的 cookie 不会发送到static子域(除非您明确设置它们这样做)。如果您使用裸域,cookie 将被发送到所有子域(由最近实现RFC 6265 的浏览器),减慢对静态内容的访问,并可能导致缓存无法正常工作。解决这个问题并保留裸域的唯一方法是为您的静态内容购买第二个域名。例如,Twitter 不使用www, 不得不为静态内容购买新域名。当然,如果您在所有子域中明确共享 cookie,例如在您站点的子域上的各种服务之间实现单点登录(Google 这样做),那么在这种情况下您也必须购买新域名反正。(另请参阅:在 URL 中包含“www”有什么意义?

说到 cookie,如果您决定使用裸域,但想要将服务放在子域上并在它们之间共享 cookie,您会很快发现它在所有情况下都无法正常工作,除非您有子域设置 cookie – 然后它不适用于裸域。对此的解决方法是使用RFC 6265 (以前称为RFC 2965)cookie,它可以在裸域和子域之间共享,但是一些流行的 Web 应用程序包仍然没有正确或根本没有实现 RFC 2965,更不用说 RFC 6265。(另请参阅:subdomain.example.com 是否可以设置一个可由 example.com 读取的 cookie?

您今天可能不会遇到任何这些问题,但随着您网站的发展,您最终会遇到。使用www现在和将来,您可以更轻松地应对将网站扩展到单个服务器之外的挑战。它可以www在许多情况下不使用而完成,但使用起来要容易得多。

我应该将 no-www 重定向到 www 吗?

是的。

重定向可确保输入您的 URL 的访问者无论使用哪种形式都能访问您,并确保搜索引擎正确索引您的规范 URL。

来自 https://www.yes-www.org/why-use-www/

网址中为什么要使用www?