写点什么

WWW 是否应该属于 URL?

作者:devpoint
  • 2023-01-09
    广东
  • 本文字数:2184 字

    阅读完需:约 7 分钟

WWW 是否应该属于 URL?

多年来,一场关于地址栏方面的卖弄学问的小型讨论一直存在。一个阵营有谷歌、Instagram 和 Facebook 这样的品牌,该阵营已选择重定向 example.comwww.example.com。在相反的阵营中像 GitHub、DuckDuckGo 和 Discord,而该阵营已选择执行相反的操作并重定向 www.example.comexample.com


WWW 是否属于 URL?一些开发人员对这个问题持有不同的意见。先来了解了一些历史之后,将探讨支持和反对它的论点。

WWW 是怎么回事?

www 是万维网 World Wide Web 的缩写,这是 20 世纪 80 年代后期的一项发明,在世界引入浏览器和网站。使用 WWW 的做法源于在子域提供的服务类型之后命名子域的传统:


  • 一个 WEB 服务器地址为 www.example.com

  • 一个 FTP 服务器地址为 ftp.example.com

  • 一个 IRC 服务器地址为 irc.example.com

无 WWW 域问题

无 WWW 域可能带了 2 个问题,下面就来开始介绍一下。

1. cookie 将会泄漏到子域

无 WWW 域的批评者指出,在某些情况下,subdomain.example.com 将能够读取 example.com 设置的 cookie,这种做法可能是不受欢迎的。虽说如此,但这种行为仅限于 Internet Explorer。


RFC 6265 对浏览器处理 cookie 的方式进行了标准化,并明确指出这种行为是不正确的。


另一个潜在的泄漏源是 example.com 设置的任何 cookie 的域值。如果域值明确设置为 example.com,则 cookie 也将暴露给其子域。


总之,只要没有明确设置域值并且用户不使用 Internet Explorer,就不会发生 cookie 泄漏。

2. DNS 问题

有时,无 WWW 域可能会使域名系统 (DNS) 设置复杂化。当用户在浏览器的地址栏中输入 example.com 时,浏览器需要知道他们试图访问的网络服务器的互联网协议 (IP) 地址。浏览器从域的名称服务器请求此 IP 地址——通常是间接通过用户的互联网服务提供商 (ISP) 的 DNS 服务器。如果名称服务器配置为使用包含 IP 地址的 A 记录进行响应,则“无 WWW”域可以正常工作。


在某些情况下,可能希望为网站使用规范名称 (CNAME) 记录。这样的记录可以声明 www.example.comexample123.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.comwww.example.com 更容易(对于不太精通技术的用户来说,这可能不会造成混淆)。


WWW 子域的反对者还指出,放弃它会带来微不足道的性能优势。通过这样做,网站所有者可以减少每个 HTTP 请求的 4 个字节。虽然这些节省对于像 Facebook 这样的高流量网站来说可能会有所增加,但带宽通常并不是稀缺资源。

WWW 的好处

支持 WWW 的一个实际论据是在具有更新的顶级域的情况下。例如, 当 example.miami 不是时, www.example.miami 可以立即识别为网址 。对于具有可识别的顶级域(如 .com )的站点,这不是一个问题。

对 SEO 的影响

目前的共识是选择不会影响搜索引擎性能。如果希望从一个迁移到另一个,需要配置永久重定向 (HTTP 301) 而不是临时重定向 (HTTP 302)。永久重定向确保您的旧 URL 的 SEO 价值转移到新的 URL。

支持两者的技巧

网站通常选择 example.comwww.example.com 作为其官方网站,并为另一个配置 HTTP 301 重定向。理论上,可以同时支持 www.example.comexample.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 会更喜欢在搜索结果中标记为规范的版本。

结论

尽管双方都进行了激烈的竞选活动,但只要了解好处和局限性,这两种方法仍然有效。要覆盖所有基地,请务必设置从一个基地到另一个基地的永久重定向,一切就绪。

发布于: 刚刚阅读数: 3
用户头像

devpoint

关注

细节的追求者 2011-11-12 加入

专注前端开发,用技术创造价值!

评论

发布
暂无评论
WWW 是否应该属于 URL?_Cookie_devpoint_InfoQ写作社区