在过去的几年中,通过Internet浏览时,我看到越来越多的页面摆脱了“ www”子域。
是否有充分的理由使用或不使用“ www”子域?
在过去的几年中,通过Internet浏览时,我看到越来越多的页面摆脱了“ www”子域。
是否有充分的理由使用或不使用“ www”子域?
Answers:
包含它的理由很多,其中最好的是: Yahoo Performance Best Practices
由于cookie的点规则,如果您没有“ www。”,那么您将无法在* .example.com中设置两点式Cookie或跨子域Cookie。有两个相关的影响。
首先,这意味着您要向其提供Cookie的任何用户都将使用与域匹配的请求将这些Cookie发送回去。因此,即使您有一个子域images.example.com,example.com Cookie也将始终与请求一起发送到该域。如果您将www.example.com设置为权威名称,那么这将产生开销。当然,您可以使用CDN,但这取决于您的资源。
另外,您也就无法设置跨子域Cookie。这似乎很明显,但这意味着允许经过身份验证的用户在您的子域之间移动是一项更大的技术挑战。
所以问自己一些问题。我会设置饼干吗?我是否担心可能不必要的带宽支出?经过身份验证的用户会跨子域吗?如果您确实担心给用户带来不便,则可以始终将服务器配置为自动处理www / no www。
在问了这个问题之后,我来到了非www页面,上面显示:
……简而言之,使用www子域是多余的,并且很耗时。没有它,互联网,媒体和社会都会变得更好。
www.
尽可能地放弃。
从网域管理员那里获取,同时使用www.domainname.com和正常的domainname.com,否则您只是将流量丢给了浏览器搜索引擎(DNS错误)
实际上,令人惊讶的是,有多少个域名(尤其是前100个域名中的)正确地解析为www.domainname.com而不是domainname.com
使用www子域有很多原因!
编写URL时,手写和键入“ www.stackoverflow.com”比“ http://stackoverflow.com ” 更容易。大多数文本编辑器,电子邮件客户端,文字处理器和WYSIWYG控件都将自动识别上述两者并创建超链接。仅仅输入“ stackoverflow.com”将不会导致超链接,毕竟它只是一个域名。谁说那里有Web服务?谁说对那个域的引用就是对它的Web服务的引用?
您宁愿写/键入/说什么。“ www。” (4个字符)或“ http://”(7个字符)?
“万维网。” 是明确传达主题是Web地址而不是另一个网络服务的URL的事实的一种简便快捷方式。
口头交流网址时,应从上下文中清楚得知它是网址,因此说“ www”是多余的。服务器应配置为返回HTTP 301(永久移动)响应,将@ .stackoverflow.com(域的根)的所有请求转发到www子域。
根据我的经验,认为应该省略WWW的人往往是不了解Web和Internet之间差异的人,并且可以互换使用这些术语,就像它们是同义词一样。网络只是众多网络服务之一。
如果要摆脱www,为什么不将HTTP服务器也更改为使用其他端口,昨天的TCP端口80也是如此。让我们将其更改为端口1234,现在,人们不得不说并输入“ http: //stackoverflow.com:1234 “(八分之一tee tee小便冒号斜线堆栈溢出点com冒号一二三四),但至少我们不必说“ www”是吗?
www.example.com
(“ www。”比“ http://”短),但随后重定向到“ example.com”。您应该同时聆听这两种情况,但是您所用的规范性内容并不重要(除了jdangel提到的cookie /子域问题)
www.
没有机制保障通过HTTP,端口80,有人会真正访问它,你只是认为他们会的。同样,如果您对某人说“ stackoverflow.com”,他们将以相同的方式访问它。HTTP是W3C标准协议,浏览器会添加,http://
因为它们需要协议,并且假设缺少HTTP即可。http://www.
不少于http://
。Cookies是唯一可使用的有效手段www.
,即使如此,也只有在您因太便宜而无法获得CDN或第二个域的情况下。
包含或不包含它并没有巨大的优势,也没有一种客观上最好的策略。“ no-www.org”是一堆愚蠢的旧教条,试图将自己展示为确定的事实。
如果“大型组织提供许多不同的服务,并且不想将裸域名专用于Web服务器”的情况对您不适用(实际上很少这样做),那么您选择的地址是在很大程度上是文化问题。您是否会习惯于人们看到广告材料上写着一个“ example.org”的裸域,他们会立即将其识别为网址,而无需额外的“ www”或“ http://”吗?例如,在日本,选择非www版本会看起来很有趣。
不过,无论您选择哪种方式,都要保持一致。使www版本和非www版本都可以访问,但使其中一个明确,始终链接到该版本,并使另一个重定向到该版本(永久,状态码301)。使两个主机名直接响应对SEO不利,并且提供解析到服务器的任何旧主机名都会使您容易受到DNS重新绑定攻击。
原因有以下几种:
1)这个人故意这样想
人们将DNS用于很多方面,而不仅仅是Web。他们可能需要其他更重要的其他服务的主要DNS名称。
2)配置错误的DNS服务器
如果有人在您的dns服务器上查找www,则您的DNS服务器将需要解决它。
3)配置错误的Web服务器
Web服务器可以承载许多不同的网站。它通过Host标头区分您想要的站点。您需要指定要用于网站的主机名。
4)网站优化
最好不要同时处理这两种情况,而要转发带有永久的http状态代码的转发。这样,这两个地址就不会竞争入站链接排名。
5)饼干
为了避免Cookie未被浏览器发回的问题。这也可以通过移动的永久http状态代码解决。
6)客户端浏览器缓存
如果您向www和其他网站提出请求,则Web浏览器可能不会缓存图像。这也可以通过移动的永久http状态代码解决。
正如jdangel指出,在某些Cookie情况下,www是一种很好的做法,但我相信还有另一个使用www的理由。
照顾和保护用户不是我们的责任。正如大多数人所期望的,www,如果不进行编程,就会给他们带来不完美的体验。
在我看来,仅出于理论上不需要设置DNS条目似乎有点自大。携带DNS条目和通过重定向等都没有开销,可以将它们重定向到非www dns地址。
请勿通过使潜在访问者出现不必要的“找不到网站”错误来严重浪费宝贵的流量。
此外,在仅Windows的网络中,您可能可以设置Windows DNS服务器来避免以下问题,但是我认为您不能在mac和Windows的混合环境中使用。如果Mac对Windows进行DNS查询,DNS mydomain.com将返回所有可用的名称服务器,而不是Web服务器。因此,如果在浏览器中键入mydomain.com,将使浏览器查询名称服务器而不是网络服务器,在这种情况下,您需要一个子域(例如www.mydomain.com)来指向特定的网络服务器。
除了有关cookie的负载优化外,还有使用www
子域的DNS相关原因。您不能对裸域使用CNAME。在yes-www.org yes-www.org上显示:
当使用诸如Heroku或Akamai之类的提供程序托管您的网站时,该提供程序希望能够更新DNS记录,以防其需要将流量从发生故障的服务器重定向到运行正常的服务器。这是使用DNS CNAME记录设置的,并且裸域不能具有CNAME记录。仅当您的站点足够大以要求使用此类服务进行高度冗余的托管时,这才是问题。