http://www.example.com/ vs http://example.com/的优缺点是什么?例如,我知道的一个问题是,如果我使用没有www的域,则无法仅为当前子域设置cookie (因为没有子域),我设置的Cookie将发送到所有子域。

评论

@John Conde:我认为您批准的编辑使问题变得更糟。“我的问题相当复杂,想知道www与非www的来龙去脉。”是用英语编辑的,在任何情况下都没有意义。

#1 楼

请记住,尽管使用www.example.com可使您仅在主站点上设置Cookies。使用example.com仅允许您在包含*.example.comstatic.example.com上设置cookie。因此,对任何子域的每个请求都将包含Cookie,这会稍微降低传输速度。使用www.example.com将允许您决定要设置cookie的哪个部分。

评论


这是大型网站为静态内容设置完全独立的域(例如用于Stack Overflow的sstatic.net)以使其具有无cookie域的主要原因。此处提供更多信息:developer.yahoo.com/performance/rules.html#cookie_free

–格雷格·布雷(Greg Bray)
2010年7月10日在21:23

是的,到目前为止,这是“ no-www”运动的最大弊端。确实很烦人。

–杰夫·阿特伍德
2010年7月11日,下午3:32

@Jeff:在一定程度上是正确的,但是无论如何将静态内容托管在不同的域上以增加并行化会更有益。

–心怀不满的山羊
2010年7月12日在21:04

@DisgruntledGoat:使用子域也可以提高并行化! developer.yahoo.com/performance/rules.html#split

– Marco Demaio
10年8月27日在15:19

现在,随着RFC 6265的实施更加广泛,这个答案变得过时了。 (不过,在撰写此答案时不存在。)

–迈克尔·汉普顿
13年4月16日在3:18

#2 楼

如果要使用www.example.com,则应将example.com永久重定向到www.example.com。在某些情况下,www子域实际上是与父TLD完全不同的服务器。虽然大多数搜索引擎都足够聪明,可以找出原因,但仍然是将重定向放置的好方法。倾向于使用较短的规范网址。对我来说也很有意义,我可以预期到www.example.com的HTTP请求将产生一个网页,或重定向到处理HTTP请求的任何子域。

另外,您还希望人们链接到您的网站使用规范网址,这是他们从浏览器工具栏中选择的网址。重定向到不是您的规范URL的那个有助于确保这方面的一致性。

#3 楼

包括www子域似乎可以归结为两个条件:


Cookies-将cookie设置为*.example.com会使我感到悲伤(产生更多流量),因为cookie随每个请求都发送子域。在这种情况下,我会选择使用www,因为如果需要,它可以让我选择在*.example.com上设置cookie(例如,经过身份验证的用户cookie),或者选择www.example.com来减少到我的其他子域的访问量。
美学-做我非常关心域名的外观?如果我真的讨厌www但又担心cookie流量,可以通过将静态内容托管在一个全新的域(例如static-example.com)上来缓解此问题,该域将保持免费cookie。

#4 楼

这是一个较小的考虑因素,但与商业场所有关。非技术用户期望网站以www开头,因此当他们看不到自己可能不会将域名视为网站时。

虽然对我们这些了解事情运作方式的人来说似乎很愚蠢,但我经常与家人,朋友和非技术同事面对这种态度,而这些人很可能代表了您的绝大多数客户。

此外,许多软件(例如电子邮件,世界处理器,社交网络客户端和合作伙伴)会自动将以www开头的域名识别为超链接并使其处于活动状态-裸露或non-www,您需要为该软件添加http://的域以使其处于活动状态。能够单击链接而不用将其复制粘贴到浏览器中,可以使客户访问您的网站或访问您的竞争对手有所不同。

评论


实际上,我看到很多没有www的域名广告。例如,当BBC始终重定向到www版本时,始终将其URL引用为bbc.co.uk/。

–心怀不满的山羊
2010年7月12日在21:07

+1我完全同意您的小考虑。确实存在“非技术用户对网站以www开头的期望”,也确实如此:“因此,当他们没有看到他们可能不会将域名视为网站时,就会出现这种情况。”对于像我们这样的技术用户来说,这听起来很奇怪,但这就是生活。

– Marco Demaio
2010年8月27日13:43

通常,如果URL并非以www开头,则在前面加上http://。因此,如果URL是http://www.example.com,那么我通常只使用www.example.com。如果是http://other.example.com,那么我会使用http://other.example.com。否则,用户不会意识到这是一个URL。听起来很疯狂,但是现在人们一直在混淆URL和电子邮件地址。可悲的是,我们在网络上花了很多时间来简化工作,以致我们的用户不再了解基础知识。

–布拉德
2010-12-02 14:50



实际上,我们所做的是将互联网的覆盖面扩大到从未受过这方面教育的人们。十年前,您基本上只在互联网上呆呆。 (夸张)如今,几乎每个人都在使用Facebook,google,“互联网”。有多少人不知道汽车的工作原理。或渗滤器。或排版。 (具有不同程度的相关性。)

– Cornelius
13年4月17日在15:52

#5 楼

就搜索结果或其他所需结果而言,似乎没有任何具体的原因可以使用一种方法。由于长度原因,我个人比较喜欢no-www

最重要的是确保您重定向到首选域,并记住在Google Search Console(Google网站管理员工具)中设置首选域。

#6 楼

在没有重复上述关于Cookie,美学,非技术用户期望www子域等的有效答案的情况下。我将www.用于本地测试服务器。我一直希望可以通过子域访问该站点,并且可以根据需要轻松区分测试站点和实时站点。 Cookies可以与本地站点和实时站点分开保存。



local.实时站点

www.example.com本地测试服务器

为测试服务器使用子域还可以轻松地从移动设备进行测试,因为可以在指向本地测试服务器(本地IP)的公共DNS中定义子域。仅当移动设备位于本地WiFi网络上时,它才能访问本地测试服务器。 (确保在本地连接时禁用了移动浏览器优化,否则远程优化服务器还将尝试访问您的本地服务器并失败。)

#7 楼

是的,请始终使用www而不是裸域。尽管Heroku在某种程度上是专门的,但是随着人们跨机器集群部署网站,他们构建的路由结构可能会变得越来越普遍。裸域比www灵活得多,因为它们需要A而不是CNAME记录。参见https://devcenter.heroku.com/articles/avoiding-naked-domains-dns-arecords。一直使用SSL。那是因为安全总比没有安全要好,而且SSL的成本已经只增加了约1%的CPU(请参阅http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html)。您也应该获得www的SSL证书。

#8 楼

我的SEO人员告诉我,Google不喜欢裸域。这种现象的征兆是,如果您尝试将myblog.blogspot.com博客重定向到example.com/blog,则会收到一条错误消息,指出博客不能托管在裸域中。

评论


这是非常可疑的。

–Lèsemajesté
13年2月15日在1:28

您无法执行此操作,因为在自定义域上托管Blogger是使用ghs.google.com上的CNAME完成的,并且裸域不能是CNAME。

–迈克尔·汉普顿
13-4-16在3:17



从技术上讲,裸域可以是CNAME,但由于所有邮件也都传递到该CNAME而不是MX记录,因此它会中断邮件传递。

–斯蒂芬·奥斯特米尔(Stephen Ostermiller)♦
13年8月8日在12:47