WWW 是否应该属于 URL?
多年来,一场关于地址栏方面的卖弄学问的小型讨论一直存在。一个阵营有谷歌、Instagram和Facebook这样的品牌,该阵营已选择重定向 example.com
到 www.example.com
。在相反的阵营中像 GitHub、DuckDuckGo和Discord,而该阵营已选择执行相反的操作并重定向 www.example.com
到 example.com
。
WWW 是否属于 URL?一些开发人员对这个问题持有不同的意见。先来了解了一些历史之后,将探讨支持和反对它的论点。
WWW 是怎么回事?
www 是万维网 World Wide Web
的缩写,这是 20 世纪 80 年代后期的一项发明,在世界引入浏览器和网站。使用 WWW 的做法源于在子域提供的服务类型之后命名子域的传统:
- 一个WEB服务器地址为
www.example.com
- 一个FTP服务器地址为
ftp.example.com
- 一个IRC服务器地址为
irc.example.com
无 WWW 域问题 1:将 cookie 泄漏到子域
“无WWW”域的批评者指出,在某些情况下,subdomain.example.com
将能够读取 example.com
设置的 cookie。这可能是不受欢迎的,例如,如果允许客户在域上操作子域的 Web 托管提供商。虽然这种担忧是有道理的,但这种行为仅限于 Internet Explorer 的。
RFC 6265 对浏览器处理 cookie 的方式进行了标准化,并明确指出这种行为是不正确的。
另一个潜在的泄漏源是 example.com
设置的任何 cookie 的域值。如果域值明确设置为 example.com
,则 cookie 也将暴露给其子域。
总之,只要没有明确设置域值并且用户不使用 Internet Explorer,就不会发生 cookie 泄漏。
无 WWW 域问题 2:DNS 问题
有时,“无 WWW”域可能会使域名系统 (DNS) 设置复杂化。当用户在浏览器的地址栏中键入 example.com
时,浏览器需要知道他们试图访问的网络服务器的互联网协议 (IP) 地址。浏览器从域的名称服务器请求此 IP 地址——通常是间接通过用户的互联网服务提供商 (ISP) 的 DNS 服务器。如果名称服务器配置为使用包含 IP 地址的 A 记录进行响应,则“无 WWW”域可以正常工作。
在某些情况下,可能希望为网站使用规范名称 (CNAME) 记录。这样的记录可以声明 www.example.com
是 example123.somecdnprovider.com
的别名,它告诉用户的浏览器改为查找 example123.somecdnprovider.com
的 IP 地址并向那里发送 HTTP 请求。
请注意,上面的示例使用了 WWW 子域。无法为 example.com 定义 CNAME 记录。根据 RFC 1912,CNAME 记录不能与其他记录共存。如果尝试为 example.com
定义 CNAME 记录, 则不允许存在 example.com
的 MX(邮件交换器)记录。因此,将无法接受 @example.com
上的邮件。
一些 DNS 提供商将允许解决此限制,如 Cloudflare 将他们的解决方案称为 CNAME 扁平化。使用这种技术,域管理员配置 CNAME 记录,但他们的名称服务器将公开 A 记录。
例如,如果管理员配置 example.com
的 CNAME 记录指向 example123.somecdnprovider.com
,并且 example123.somecdnprovider.com
的 A 记录 指向 1.2.3.4
,那么 Cloudflare 将公开 example.com
的 A 记录 指向 1.2.3.4
总之,虽然对于希望使用 CNAME 记录的域所有者来说,这种担忧是有效的,但某些 DNS 提供商现在提供了合适的解决方法。
无 WWW 的好处
大多数反对 WWW 的论点都是实用的或表面的。“No-WWW”的拥护者争辩说,说出和输入 example.com
比 www.example.com
更容易(对于不太精通技术的用户来说,这可能不会造成混淆)。
WWW 子域的反对者还指出,放弃它会带来微不足道的性能优势。通过这样做,网站所有者可以减少每个 HTTP 请求的 4 个字节。虽然这些节省对于像 Facebook 这样的高流量网站来说可能会有所增加,但带宽通常并不是稀缺资源。
万维网的好处
支持 WWW 的一个实际论据是在具有更新的顶级域的情况下。例如, 当 example.miami
不是时, www.example.miami
可以立即识别为网址 。对于具有可识别的顶级域(如 .com )的站点,这不是一个问题。
对 SEO 的影响
目前的共识是选择不会影响搜索引擎性能。如果希望从一个迁移到另一个,需要配置永久重定向 (HTTP 301) 而不是临时重定向 (HTTP 302)。永久重定向确保您的旧 URL 的 SEO 价值转移到新的 URL。
支持两者的技巧
网站通常选择 example.com 或 www.example.com 作为其官方网站,并为另一个配置 HTTP 301 重定向。理论上,可以同时支持 www.example.com 和 example.com。在实践中,成本可能超过收益。
从技术角度来看,需要验证技术堆栈是否可以处理它。内容管理系统 (CMS) 或静态生成的站点必须将内部链接输出为相对 URL,以保留访问者的首选主机名。分析工具可能会分别记录到两个主机名的流量,除非可以将主机名配置为别名。
最后,需要采取额外的步骤来保护您的搜索引擎性能。Google 会将 URL 的“WWW”和“非WWW”版本视为重复内容。为了删除其搜索索引中的重复内容,谷歌将显示它认为用户更喜欢的两者中的任何一个——无论好坏。
为了保持对在 Google 中的显示方式的控制,它建议插入规范链接标签。首先,确定哪个主机名将是官方(规范)主机名。
例如,如果选择 www.example.com
,则必须在 https://example.com/my-article
代码的 <head>
的标签中插入以下代码段 :
<link href="https://www.example.com/my-article" rel="canonical">
此代码段向 Google 表明“WWW-less”变体表示相同的内容。一般来说,Google 会更喜欢在搜索结果中标记为规范的版本。
结论
尽管双方都进行了激烈的竞选活动,但只要了解好处和局限性,这两种方法仍然有效。要覆盖所有基地,请务必设置从一个基地到另一个基地的永久重定向,一切就绪。