我们更懂您!

如果您目前遇到维护网站的困难,请及时联系我们,也非常欢迎致电我们广受好评的服务团队。
我们深信会得到您的认可。我们期待您的垂询。

联系我们

域名www,要还是不要,这是个问题

来历:栈外BjørnJohansen

本文亮点

▪关于是否在网站的主机名中保存www的争辩从未停歇,作者以为应当保存。▪大都状况下,常见的域名能够省掉www,使浏览器查找栏愈加简练。并且,省掉www仍然能够导向正确的网页。▪

可是,假如不加www,就面对着cookie被第三方渠道共享并运用、影响网页运转速度、无法运用CNAME(标准姓名)等问题,不利于网页的运转、安全性和灵敏性。所以,保存www利大于弊。

原文来自BjørnJohansen

历史布景

尽管人们总是把“域名”和“主机名”这两个词相提并论,但这它们是有差异的,并且不仅仅语义上的差异。我会简略介绍一下这两个词,以示其差异:

作为一个IT办理员,你的网络系统便是你的域。你需求给这个域起名,并登记在域名系统(DNS)中,比方说,你能够起名为“example.com”。域的下面是主机,每个联网的设备都能够算作一个主机。

在你的域内,服务于万维网(WWW)文件的机器会主动取得主机名“www”,因而你的彻底约束域名(FQDN,一同带有主机名和域名的称号)便是www.example.com。不论其他主机有没有网页服务器,域内其他主机的姓名也会变成带“www”的,这样能够更好地办理网络系统中的主机。

要想运用“example.com”这个域内的网页服务器,你就需求运用名为www.example.com的主机。顺便说一句:在互联网早期阶段,还没有虚拟主机这回事。一切的网页服务器都要服务于同一个网站(最少是同一个IP地址)。只需主机名能指向正确的IP地址,用什么姓名都没联系。

“裸域名”,也便是没有“www”的域名,比方“example.com”,在DNS协议中被称为“根域名”(theorigin)。上世纪90年代中期,万维网越来越遍及,一些办理员开端把根域名指向和网页服务器主机同样的IP地址。这样,网页访客只需在浏览器中输入“example.com”就可拜访,而不必输入完好的主机名“www.example.com”。

然后,查找引擎优化来了

从根域名“example.com”和主机名“www.example.com”能够指向不同的IP地址开端,1997年1月后,二者也能够指向同一IP地址下的不同网页。对查找引擎优化(SearchEngineOptimization,SEO)有所了解的人开端告知咱们,必需求挑选一个标准的主机名,并且另一个姓名也要指向这个标准的主机名,并运用HTTP301呼应代码。

这也是有道理的,可是选哪一个呢?假如只考虑SEO,选哪个都没联系。可是还有许多SEO以外的问题,下面我会持续解说。

人们对URL的了解

本世纪初,我在一家营销组织作业,咱们很忧虑假如咱们在网址里省掉“www”,人们或许会认识不到这是一个万维网地址。那时,在网址中省掉http://也是没过多久的事。此外,由于一些遗留问题,我个人倾向于运用完好的“正确”主机名,即“www.example.com”。

现在则大不相同了。假如你有一个常见的尖端域名,那么加不加www咱们都会了解的。并且,一个版别称号现在能够从头指向另一个地址。因而,假如你的标准主机名是“www.example.com”,而你在印刷广告中只运用看起来更简练的“example.com”,这也是可行的。不过,假如你的尖端域名比较新,比方.beer,那么加上www会比较好,由于人们或许认不出这是一个网址。

不加www更美观更简练

我得承认:“example.com”更短,读起来更简略。你试试,是不是无法一口气读完“www”吧?并且,不加www后,称号占用的空间也更小。因而,人们开端省掉“www”、直接把根域名作为主机名,这也是能够了解的了。

那为什么还在纠结加不加www呢?

为什么咱们还在争辩这个问题?人们不能喜爱什么就用什么吗?

当然能够。

可是,假如你是网站办理员,你在决议前或许会想深思熟虑一番,由于在运用网络上的大部分东西前,比方cookie,咱们都没有好好考虑过。

Cookie会被发送到一切的子域

在主机名下设置的cookie也会被发送到一切的子域,也便是说,假如在“example.com”的网站设置一个cookie,浏览器在浏览“www.example.com”时也会发送这个cookie。

这听起来是件功德,由于横竖它们是同一个网站,对吧?可是,这个cookie也会被发送到“cdn.example.com”、“email.example.com”、“intranet.example.com”等等任何包含“.example.com”的第三方服务网站。许多第三方服务网站都是这样同享你的cookie。

而关于在“www.example.com”下设置的cookie,是不会发送到以上这些网站的。你的浏览器能够识别出它们不是“子服务”,而是彻底不同的服务,因而不会发送cookie。

不必要的cookie会影响网页运转速度

每拜访一次网页服务器,浏览器都会发送一次HTTP和cookie。因而,假如你的cookie设在根域名“example.com”下,那么每当你拜访“email.example.com”或许是“intranet.example.com”的时分,浏览器都会发送cookie。这会导致网页的运转速度下降,影响用户体会。

第三方能够读取cookie

所以,假如你的主机名是根域名(“example.com”),并且能够登录到内容办理系统(CMS),那在你登录期间,CMS会给你的浏览器发送一个cookie。接着,假如你拜访“someinternalservice.example.com”(内部服务),该网站的办理员就能够拜访并运用这个cookie,以你的名义登进CMS里的“example.com”。

相似的,你拜访“email.example.com”(邮箱)的时分,你的CDN服务商也能够登进你的邮件服务,加载出许多含有“example.com”的网站,比方“static.example.com”等等。

假如你忧虑网站上内容的安全,那就应该运用有www前缀的主机名。假如这都不能让你决议究竟要不要前缀,那我就无话可说了。HTTPS和双要素认证(Two-factorauthentication,2FA)都不能确保你网站的安全,尽管2FA通常很有用,不过IP约束这样的安全措施能起到必定协助。

子域的cookie能够在全域共享

假如你在例如“sso.example.com”这样的子域上有一项服务,RFC6265使你能够在子域上设置一个cookie,并和“example.com”或“www.example.com”同享。因而,运用有前缀的主机名能使操作愈加灵敏。

DNS根域名不能是CNAME(标准姓名)

说到灵敏性,咱们又要谈回DNS了。

DNS中有一项约束,即根域名的记载类型有必要为A,意思是它有必要指向一个固定的IP地址。

当你的站点越来越巨大,你或许会将其转向托管服务,或许期望将其指向Web应用防火墙或许DDoS缓解服务。这时,能够运用CNAME记载,把你的主机名指向另一个灵敏的主机名。这个新的主机名由托管商依据你的流量和需求来挑选和办理。

假如你的主机名在根域名(“example.com”)下,你就没办法运用CNAME。可是,有前缀的主机名就不会遇到这个问题。因而,假如你想有更多挑选的时机,那一开端就应该运用有www的主机名。

结论:仍是加上www吧

用不必www是有差异的。没有www,根域名确实看起来更简练,但这仅仅让浏览器查找栏更简练罢了。你彻底能够用“www.example.com”作为主机名,一同在其他当地运用不带www的称号,由于即运用户输入不带www的称号,浏览器也会主动跳转到正确的页面。

运用带www的全称作为主机名的好处多多:网页运转优化、安全可靠,并且十分灵敏。

这回应该能完结这场争辩了:加上www吧!

本文已取得栈外授权,转载请与原作者联系