成为或不成为...我应该在我的域上使用www吗?

20年来,一直在讨论是否在您网站的规范主机名(CNAME)中使用www。 那该用什么呢?



尽管许多人互换使用术语“域名”和“主机名”,但是它们之间还是有区别的,这不仅是语义问题。 我将简化此描述以重点说明这一点。

对于您来说,作为IT管理员,您的域就是您的网络。 给域名起个名字是合理的。 DNS系统适用于此,因此您注册一个域名,例如example.com 。 现在,在此域下,您将拥有自己的主机。 每台具有网络连接的计算机均被视为主机。 WWW文档服务机自然会在您的域中获得主机名www ,因此其完全限定的域名(FQDN)将为www.example.com 。 无论网络上是否有Web服务器,您都将对网络上的其余主机执行相同的操作。 这样您就可以清理网络。

要转到example.com域中的Web服务器,您应该转到名为www.example.com的主机。 顺便说一下,在恐龙漫游网络的那些日子里,虚拟主机不存在。 每个Web服务器仅服务一个网站(至少一个IP地址)。 主机名是否指向正确的IP地址并不重要。

“裸域名”,即 没有DNS的域名(例如example.com )在DNS中称为来源。 随着1990年代中期万维网的流行,一些管理员开始将与www主机相同的IP地址指定为原始主机。 这样,网站访问者就可以在浏览器中仅输入example.com ,而不是完全限定的主机名。

然后是SEO


由于example.comwww.example.com可以指向不同的IP地址,并且自1997年1月以来,指向同一IP地址的不同网站,因此SEO专家开始告诉我们,我们应该选择规范的主机名,其余的则应选择必须指向该地址(带有HTTP状态代码301)。

选择一个名字很有意义。 但是哪一个呢? 对于SEO来说,真的没有关系。 最主要的是拥有一个。 但是,除了SEO之外,还有其他问题。 继续阅读。

人们如何理解网址


在世纪之交的时候,我在一家市场营销公司工作时,我担心,如果我们省略“ www”部分,那么人们可能会不明白他们在我们面前拥有万维网的地址。 我的意思是,我们刚刚开始跳过“ http://”。 另外,出于历史原因,我个人选择使用完整的“正确”主机名,即 www.example.com

今天,我认为这并不重要。 人们会明白,这是一个网址,无论www是否存在,在它们前面都有一个知名的顶级域名。 由于一个版本仍会重定向到另一个版本,因此您的规范主机名是www.example.com并不重要,并且您仅出于美观目的将example.com用于印刷广告。 同时,如果您拥有成千上万个新的.beer顶级域名之一,那么出于与世纪之交营销相同的原因,添加www是有意义的。

没有www,它更简单,更美丽


我必须承认: example.com键入速度更快,更易于阅读,而且只是节省了空间。 人们开始删除www是可以理解的,并且只需将起源指定为规范的主机名即可。

那么为什么他们还在为此争论呢?


为什么我们仍在讨论是否使用“ www”? 让所有人使用他想要的东西,不是吗?

当然可以

但是,如果您是网站管理员,那么您可能希望做出明智的选择,并事先考虑一些事项。 例如,cookie。

Cookie被传递到子域


代表主机设置的Cookie也将为所有子域设置。 也就是说,如果example.com上的站点设置了cookie,则浏览器在访问www.example.com时也会发送该文件。 听起来不错,它是同一站点,对吗? 但Cookie还将转到cdn.example.comemail.example.comintranet.example.comemail.example.com等。 许多第三方服务都允许您以这种方式使用您的域。

从主机www.example.com *设置的cookie不会*像上面那样发送给任何“兄弟”主机。 您的浏览器了解这些不是“子服务”,而是完全不同的服务,不应访问您的cookie。

不必要的Cookie会影响性能


HTTP和Cookie的工作方式是将它们与每个请求一起从浏览器发送到Web服务器。 这意味着,如果您的站点为来源(example.com)设置了cookie,则也应针对您的每个请求将此文件发送给该文件,例如,发送到email.example.comintranet.example.com 。 这会减慢连接速度。

第三方可以读取Cookie


因此,如果该网站与原始网站(example.com)相同且使用CMS系统,则在获得授权后,它将向您的浏览器发布cookie,以保持会话打开。 然后,当您访问someinternalservice.example.com ,此服务的管理员可以读取此cookie,将其复制并使用它代表您登录到example.com的公司CMS。 访问email.example.com或下载资源(例如email.example.com的CDN提供程序时,电子邮件供应商也是如此。

如果您担心example.com上至少某些内容的安全性,请确保在其前面加上“ www”。 即使这不能说服您使用“ www”,我也不知道它可以说服什么。 HTTPS和2FA都不起作用,因为此cookie是一个魔术令牌。 但是,其他安全措施(例如IP限制 )可能会有所帮助。

如果需要,可以共享子域中的Cookie


如果您在子域上拥有服务,例如sso.example.com ,则RFC 6265允许您设置Cookie的来源,并使其与example.comwww.example.com通用。 因此,实际上,放弃“裸域”作为主机名将为您提供更大的灵活性。

DNS限制


说到灵活性,我们需要重新讨论DNS。

DNS中有一个限制,即来源必须是A记录,即指向固定的IP地址。

当您的站点变大并将其移至主机或希望将其定向到防火墙或DDoS保护服务时,请使用CNAME记录将主机名定向到另一个不一致的主机名,提供商会根据您的流量和需求对其进行控制。

但是,如果该网站托管在裸域(example.com)上,则无法执行此操作。 但是,在CNAME中用“ www”指定主机名没有问题。 因此,如果您希望现在或将来具有任何可扩展性,则应从一开始就将主机名设置为“ www”。

结论:选择www


无论是否使用www,这一点都很重要。 我同意裸域看起来更漂亮,但这只是浏览器地址栏的一个实际问题。 您可以使用www.example.com作为规范的主机名,而在其他地方只需使用裸域。 仍将在必要时重定向用户。

但是重要的论据是赞成使用带有“ www”的完全限定的主机名:为了提高性能,安全性和灵活性。

因此,一劳永逸地结束了讨论:选择“ www”!

Source: https://habr.com/ru/post/zh-CN431022/


All Articles