除了历史原因之外,URL中是否有理由包含“ www”?
我应该创建从www.xyz.com
到xyz.com
或从xyz.com
到的永久重定向www.xyz.com
?您会建议哪一个,为什么?
除了历史原因之外,URL中是否有理由包含“ www”?
我应该创建从www.xyz.com
到xyz.com
或从xyz.com
到的永久重定向www.xyz.com
?您会建议哪一个,为什么?
Answers:
您需要www
或其他子域与DNS和CNAME记录有关的原因之一。
出于本示例的目的,假设您正在运行一个大型站点,并将托管外包给Akamai等CDN(内容分发网络)。通常,您要做的是将站点的DNS记录设置为CNAME到某个akamai.com
地址。这使CDN有机会提供一个接近浏览器的IP地址(以地理或网络术语)。如果您在网站上使用了A记录,那么您将无法提供这种灵活性。
DNS的怪癖是,如果您具有主机名的CNAME记录,则该主机不能具有任何其他记录。但是,您的顶级域example.com
通常必须具有NS和SOA记录。因此,您也无法为添加CNAME记录example.com
。
使用,www.example.com
您有机会使用CNAME www
指向CDN,同时将所需的NS和SOA记录保留在上example.com
。该example.com
记录通常还将具有一个A记录,以指向将www.example.com
使用HTTP重定向重定向到的主机。
ALIAS
(或ANAME
记录)呢?它是否达到了与裸域上的CNAME相同的结果(除了cookie问题...)?
注意:自2011年RFC 6265的批准和实施(所有当前的浏览器,除了MSIE 11可能,请参阅注释)以来,以下内容不再准确,因为默认情况下,从不跨子域设置cookie。
从历史上看,www.example.com
规范化的一个很好的技术理由是将主域(即example.com
)的Cookie 发送到所有子域。
因此,如果您的站点使用cookie,它们将被发送到其所有子域。
现在,这通常是有道理的,但是如果您只想下载静态资源,那肯定是有害的,因为这只会浪费带宽。考虑您网站上的所有样式表和图像:通常,在请求图像资源时,没有必要将cookie发送到服务器。
因此,一个好的解决方案是对静态资源(例如)使用子域static.example.com
,以通过不发送cookie来节省带宽。可以从此处下载所有图像和其他静态下载。如果您现在使用www.example.com
动态内容,则意味着Cookie只需发送至www.example.com
,而不必发送至static.example.com
。
但是,如果它example.com
是您的主要站点,则cookie将被发送到所有子域,包括static.example.com
。
现在,这与大多数网站无关,但是以后再更改规范的URL并不是一个好主意,因此一旦您选择example.com
而不是www.*
,就基本上会坚持使用它。
一种替代方法是对静态资源使用完全不同的 URL。堆栈溢出(例如,用途sstatic.net
,YouTube用途ytimg.com
等)…
www.x
规范的URL,所以如果我要设计一个大型网站,我个人可能会使用其他URL作为静态资源。
www
是通常用于某个域中的Web服务器的子域,以及用于其他目的(例如,诸如此类)mail
的子域。如果您在浏览器中连接到网站,则将获得该网站,否则向服务器发送邮件将使用其邮件服务。
是否使用www
取决于个人喜好。可以在http://no-www.org/和http://www.yes-www.org/上找到反对的观点-但是,我认为这www
是不必要的,只会给URI添加更多内容。
大多数服务器以相同的方式发送相同的站点,但是不重定向。出于SEO的目的,选择一个,然后让另一个重定向到它。例如,一些PHP代码可以做到这一点:
if (preg_match('/www/', $_SERVER['SERVER_NAME'])) {
header("Location: http://azabani.com{$_SERVER['REQUEST_URI']}");
exit;
}
但是,促进使用www
其他应答者创建的子域的一些原因也很重要,例如不将cookie发送到静态服务器(信用Konrad Rudolph)。
这是很历史的。曾几何时,我们曾经拥有www.example.com,ftp.example.com,images.example.com,uk.example.com等,这似乎很合乎逻辑,并且提供了一种简单的方法来分散负载服务器。
这些天来,我只想访问example.com作为主要网站,然后将www版本重定向到该网站。
在谷歌网站管理员工具允许你指定你的首选域名,所以一定要使用这些呢。
另请参阅:
https : //stackoverflow.com/questions/1109356/www-or-not-www-what-to-choose-as-primary-site-name
https://stackoverflow.com/questions/1884157/to- www-or-not-to-www
如果您将拥有用于其他目的的子域(例如,博客),则可能需要区分站点并www
为常规站点添加前缀。除此之外,唯一重要的事情是从两者中选择一个并坚持下去(出于SEO的原因)。
www.example.com
从AJAX到AJAX,example.com
反之亦然。
我先做 该www
约定来自HTTP的早期时代,其中www.cmu.edu和cmu.edu很可能是不同的机器。
这是另一个次要观点。
由于没有www,因此在基于文本的媒体(无论是印刷媒体还是在线媒体)上存在一个较小的缺点,那就是将其识别为网址。在印刷品中,example.com通常是一个网址,您可以添加样式修饰来突出显示该网址。但是在线纯文本?没那么容易。如果您发送纯文本消息(包括电子邮件,tweet,Facebook帖子,SMS或其他内容),则可能会识别以http://或www开头的URL。但如果没有一个都不认出来。因此,为了使URL成为可点击的链接,您必须输入www。或前面的http://,以及两者中的www。更短,更不笨拙且易于阅读。
http://example.com/
完全合格而www.example.com
没有。我更喜欢完全合格的方法,因为它总是识别为URL,无论它是https://example.uk/
或https://blog.example.eu/
或什么的。它与将安全站点的协议指定为HTTPS一致;www.example.com
只是一个域,并且没有说明应该使用哪种协议来访问它。