域名www,要还是不要,这是个问题
历史背景
尽管人们总是把“域名”和“主机名”这两个词混为一谈,但这它们是有区别的,而且不只是语义上的区别。我会简单介绍一下这两个词,以示其区别:
作为一个IT管理员,你的网络系统就是你的域。你需要给这个域起名,并登记在域名系统(DNS)中,比如说,你可以起名为“example.com”。域的下面是主机,每个联网的设备都可以算作一个主机。
在你的域内,服务于万维网(WWW)文件的机器会自动获得主机名“www”,因此你的完全限定域名(FQDN,同时带有主机名和域名的名称)就是www.example.com。不管其他主机有没有网页服务器,域内其他主机的名字也会变成带“www”的,这样能够更好地管理网络系统中的主机。
要想使用“example.com”这个域内的网页服务器,你就需要使用名为www.example.com的主机。顺便说一句:在互联网早期阶段,还没有虚拟主机这回事。所有的网页服务器都要服务于同一个网站(起码是同一个IP地址)。只要主机名能指向正确的IP地址,用什么名字都没关系。
“裸域名”,也就是没有“www”的域名,比如“example.com”,在DNS协议中被称为“根域名”(the origin)。上世纪90年代中期,万维网越来越普及,一些管理员开始把根域名指向和网页服务器主机同样的IP地址。这样,网页访客只需在浏览器中输入“example.com”就可访问,而不用输入完整的主机名“www.example.com”。
然后,搜索引擎优化来了
从根域名“example.com”和主机名“www.example.com”可以指向不同的IP地址开始,1997年1月后,二者也可以指向同一IP地址下的不同网页。对搜索引擎优化(Search Engine Optimization,SEO)有所了解的人开始告诉我们,必须要选择一个规范的主机名,而且另一个名字也要指向这个规范的主机名,并使用 HTTP 301响应代码。
这也是有道理的,但是选哪一个呢?如果只考虑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-factor authentication,2FA)都不能确保你网站的安全,尽管2FA通常很有用,不过IP限制这样的安全措施能起到一定帮助。
子域的cookie可以在全域分享
如果你在例如“sso.example.com”这样的子域上有一项服务,RFC 6265使你能够在子域上设置一个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吧!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2020年需要关注的10种企业IT转型趋势
通讯服务提供商Verizon公司日前分享了2020年可能重塑IT行业的潜在技术驱动力的见解。 对很多企业来说,从技术投资和转型工作中获得更大回报的可能性会越来越大。Verizon公司对在2020年可能发生的企业IT转型趋势进行了展望。该公司表达的核心观点之一是,专注于追求效率但避免创新风险的企业会被其他公司超越。 根据Verizon公司的展望,创新技术提供的可能性很快就会开始见效。Verizon公司酒店、旅游和分销零售集团副总裁Michel Dupre表示,在过去三到五年中,许多企业的首席信息官所做的数字化转型都在为未来发展做好准备。现在,首席信息官需要考虑如何进行下一阶段的运营。她说:“他们希望当前已经进行的投资或在短期内将要进行的投资做到万无一失,那么如何制定计划?这是制定正确策略的关键。” 可能还会有其他专业知识来帮助制定这种策略。Dupre s说,许多企业雇用了首席数字官,他们有时会与首席信息官合作,但专注于数字业务。她说,数字化呈现的可能性包括对收集到的数据进行分析,从而为企业基于这些信息做出业务决策创造了机会。 Dupre指出,数据量将会继续增长,有时呈指数增长,她看到了在...
- 下一篇
统一操作系统 UOS 回应质疑
自从统一操作系统UOS正式版面向合作伙伴发布之后,小编就关注到网上对统一操作系统UOS众说纷纭。留意了近期网友们发表的评论: “又多了一个骗钱的国产操作系统” “从UOS界面、设计和代码不难看出,根本就是Deepin换了层皮” …… 如此说来,让UOS背后的程序员们伤心不已! 面对大家的质疑,小编就分成三篇为大家详细科普一下UOS的真功夫吧。 统一操作系统UOS是由统信软件技术有限公司的团队研发的,公司于2019年11月14日正式成立,由国内多家长期从事操作系统工作的公司组成,包括武汉深之度科技有限公司、诚迈科技、中兴新支点等。 Deepin界面 统一操作系统UOS界面 Deepin是武汉深之度科技有限公司的主打产品,是唯一在国际Linux发行版排行榜中位于前十的中国团队研发的发行版,下载量累计8000万次,支持33种语言,自主研发的桌面环境已被Ubuntu、Fedora、Arch等14款国际发行版移植。 因美观性、易用性、本土化等特点Deepin可以说是国产操作系统最受欢迎的了。Deepin操作系统即是统一操作系统UOS的社区版。 简单来说,Deepin和统一操作系...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主