域名有www与没有www有什么区别?


我们知道,根域名其实是没有前导 www 的。举个例子,本站的根域名是 w3cfun.com , 如果我在前面加上一个 www , 那么我的域名看起来是 www.w3cfun.com 事实上后者是一个子域名,这是有 www 与没有 www 的最本质区别。


为什么会有 www?
我们平时听到的网址都是 www.xxxx.com 的类型,潜意识中就觉得网站就是应该以 www 开头的,因为 www 是 World Wide Web 的所写。其实不然。
域名的本质是 IP 地址的别名 (w3cfun to IP address), 也就是说,一个域名不一定要用来做“网站”,而可以是其它的一些目的,例如仅仅是为了帮助记忆一个 IP 地址。所以一个域名对应的 IP 可能会有很多种类的服务。我们俗称为网站的东西实际上是一个 HTTP 类的服务。在以前,浏览器并不会识别域名下的服务是什么种类的,所以,加上 www 可以告诉浏览器,这是个网站。
类似地,我们也会看到诸如bbs.w3cfun.com(从前,BBS 是一个独立的,不依赖于 HTTP 的服务), mail.w3cfun.com 等域名。你也许会想到,邮箱地址常常会是 webmail@w3cfun.com的形式,其实 FTP 中也有 username:password@ftp.w3cfun.com 或 username@ftp.w3cfun.com 的形式。请注意通常这里邮件服务没有使用子域名而是使用了根域名,这是约定俗成。而 FTP 则使用了 ftp.w3cfun.com的子域名,以便区分服务类型。


为什么要删掉 www?
而现在,我们看到的 URL 常常是 http://w3cfun.com/ , ftp://w3cfun.com/ 等。更要紧的可能会有 http://w3cfun.com:8080/ 这样的。此时我们已经在 URL 中标记了服务的类型是 HTTP 或者 FTP. 这样,我们就没有必要再指定子域名了。所以,这也是 NO-WWW 组织倡议大家删除域名中的 www 的主要原因。
然后,www 会使你的 URL 看起来很长。


为什么不要删掉 www?
WordPress 社区里的 Matt 建议个人网站中不要包含 www, 而暗示了公司站点最好要包含 www. 其实好像也是这样的,很多国际大站都是包含 www 的。
据传言,如果在根域名下直接设置了 Cookies, 会影响到所有的子域名。但是我记得在 Apache + PHP + Firefox 下测试,根域名下的 Cookies 并不会被子域名读取。可能传言说的是一些别的、老的浏览器吧。
说 Cookies 有什么用呢?您可能会发现,本站的所有上传文件都不在默认的 /wp-content/uploads/ 目录,而是在 http://uploads.w3cfun.com/ 中。如果我使用默认的目录,浏览器不管你是图片还是网页,都发 Cookies 给服务器,这样会消耗一部分读取图片的时间。如果使用一个别的域名,哪怕是子域名,也可以节约部分时间。有的人甚至为了这么点速度,专门申请了一个顶级域名来存放上载文件。


谷歌会如何对待
有很多SEO ,甚至谷歌自己都说 www 与非 www 是两个不一样的地址,计算 PR 时都是分开的。我个人比较赞同这种说法。所以在谷歌站长工具中,一定要设置好 www 偏好设置,并且不要随便更改是否有 www. 这样对 SEO 还是不利的。
posted @ 2012-09-15 15:24  andy joe专注web前端  阅读(1969)  评论(0编辑  收藏  举报