前言
今天来给大家介绍,域名篇。
随着互联网时代来临,浏览器成为了日常必备的电脑工具。
而域名,但凡用过浏览器的朋友都知道它长什么样。
比如百度:
那我们用了这么久的域名,你知道它的组成以及作用是什么吗?
带着这个问题,继续往下读。
域名的组成
依然以百度为例:
从形式上来说,域名由 . 来进行分割英文组成。
如果按照正常的阅读方式,从左往右看。
但是,看域名则不同,需要你从右往左看去理解。
首先在最右边 .com 的域名位置,有一个专业名词,叫顶级域名。
我们见到的每个域名,都以顶级域名作为结尾,例如常见的:
- com,商业通用域名
-
gov,政府网站域名
-
edu,教育网站域名
-
org,非盈利组织域名
-
net,网络服务商域名
………等等
其次,从右侧数,倒数第二位的, baidu 。
排在顶级域名的左侧域名,都称之为子域名。如果细分,那对于 baidu 的专业名词,叫二级域名。
同时 baidu.com 这一整串,也可以叫二级域名。
二级域名一般是人们基于产品、公司等来创建的名称,主要作用就是好记。
接下来,就是 3w 了。
我们经常说的 3w 是什么意思呢?
www,原本英文:World Wide Web。中文,万维网。
是一个透过互联网访问的,由许多互相链接的超文本组成的系统
wiki百科
如果读了还是不明白,那我简单用一句话概括下:
日常浏览网页就是在使用万维网,而有一些互联网常用的服务,就不是使用的万维网,比如发邮件、ftp文件传输等。
PS:互联网不等同于万维网,万维网属于互联网中的”子服务”之一。
对于 www 来说,告诉你访问的就是 web 服务,那么,又问题来了。
当我们访问一个网页时,www 是必须要带上吗?那你觉得 3w 会是三级域名吗?
答案:
www.baidu.com 属于二级域名。
3w 俗称万维网,只是大家“默认”的域名前缀,但它并不是必须的。
譬如,百度知道:
域名以及域名系统
组成讲完了,我们来聊聊域名的作用。
一说到域名,那必然离不开一个词 – DNS 。
DNS,英语:Domain Name System,中文:域名系统。
是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
wiki百科
看了概念还没懂?没关系,让我用通俗易懂的例子来给你解释一下。
现在我们浏览网站的数量非常多,每个网站背后都对应着 ip ,就像你的电脑也对应着一个公网 ip 一样,比如下面:
如果网站全部用 ip 进行访问,那肯定很难记住,所以就需要一个类似地址簿一样的东西,根据名称,去查询背后的地址。
比如,有天中午你饿了,于是你打开美团外卖,订了”麦当劳”。
此时外卖小哥收到来自你的订单,”麦当劳”是全国连锁店,那具体外卖小哥要去哪里取餐呢?
通过美团的提示,查询到离你最近的麦当劳地点,提示小哥应该去”前门西大街店”的麦当劳进行取餐。
所以,这里的”麦当劳”可以对应成域名,”美团”对应成 DNS 服务器,前门西大街麦当劳店的具体地址则对应成 ip 地址。
那回到网络世界里,我们每访问域名一次,都需要经过 DNS 服务帮我们进行解析。
可见 DNS 非常重要,因此 DNS 服务器的设计,就引出了高可用,高并发,分布式的概念。
然后,就有了按照不同层来划分 DNS 服务器的设计,如下图:
根 DNS 服务器:返回顶级 DNS 服务器的 ip 地址。
顶级域 DNS 服务器:返回权威 DNS 服务器的 ip 地址。
权威 DNS 服务器:返回相应主机的 ip 地址。
是不是觉得这个分层和域名的组成有些类似?
先对着这几个基础概念眼熟下,不明白没关系,继续往下看。
眼熟上述概念,那再来看看我们请求域名后,解析ip的流程是怎样的?
依旧是来看一张流程图,一共有十步,用文字来对照解释:
从上往下,从 1 到 10来看。
首先电脑通过浏览器访问一个域名,比如百度 www.baidu.com 。
- 浏览器检查是否有 DNS 相关缓存,通过域名查找 ip 。
比如谷歌浏览器:
但由于谷歌浏览器的新版本去掉了 DNS 列表查看功能,目前你能看到的只有清理缓存按钮了。
如果你想看到浏览器缓存的 dns 列表,还有一种方法。
访问 chrome://net-export/ ,进行网络日志下载。
将 json 日志文件上传到此网站:
https://netlog-viewer.appspot.com/
实际上,就像图中表格一样,域名和 ip 地址相对应,就是 DNS 所做的事儿。
如果找到,则直接返回 ip ,若没有,进行下一步。
- 如果浏览器 DNS 缓存失效,则去本机的 hosts 文件中进行查找。
windows和Linux的hosts文件路径不同,自行网上搜索。
有的时候,GitHub访问不了,知道为什么改 hosts 文件起作用了吧?
如果找到,则直接返回 ip ,若没有,进行下一步。
- 如果 hosts 文件中没有对应的映射,则访问本地 DNS 服务器。
本地 DNS 服务器,一般都是由网络供应商提供,比如中国联通、电信自动分配。说白了,就是服务商的某个机房。
如果找到,则直接返回 ip ,若没有,进行下一步。
4、5. 本地 DNS 服务器依然没有找到相关 ip。
那本地 DNS 服务器就会问根 DNS 服务器。
本地DNS:”根老大,告诉我下 www.baidu.com 的 ip 地址呗!”
根老大听到本地 DNS 小弟的召唤后,
回复到:”.com结尾的域名啊,我给你它对应的顶级域名 DSN 服务器地址,你去问它!”
6、7:本地 DNS 服务器询问顶级 DNS 服务器。
于是本地DNS小弟又再次请求了顶级域名DNS服务器。
本地DNS:”顶老二,老大叫我来问你,www.baidu.com的 ip 地址,告诉我一下呗!”
顶老二:”嗨,不就 www.baidu.com 吗!小意思,我给你它的权威 DNS 服务器地址,你去问它!”
8、9:本地 DNS 服务器询问权威 DNS 服务器。
本地DNS:”权三哥,顶老二都让我来问你,www.baidu.com 对应的 ip 地址,到底是啥啊!!”
权威DNS:”别急,老弟,我给你查查。查到了!220.181.38.148″
PS:权威DNS服务器,就是针对特殊的 ip 进行解析的服务器,所谓的权威是针对特定域名来说的。
下图只是我为了获取百度 ip 而做的例图:
10:本地 DNS 服务器拿着真实的 ip ,开开心心地将 ip 返回给了电脑。
最终,电脑与目标 ip 成功地建立了连接。
故事完。
当你明白了根、顶级、权威 DNS 服务器的基础概念之后,再去看解析流程后,才会有一种”恍然大悟”的感觉。
那关于 DNS ,它和域名的关系,到这里就结束了。
除了帮助域名解析以外,其实 DNS 还有一个作用,就是负载均衡,那这里就不过多讲了,感兴趣的可以看下我后面分享的极客时间链接。
4
结语
今天这篇文章,足以让你了解域名的常用知识了。
对网络感兴趣的同学,建议消化一下。
本篇内容是原理部分,授人以鱼不如授人以渔,一直是我推崇的文章风格,所以不能光有结论,弄清原理也是非常重要的。
注明 :有需要购买产品的可以提前领取优惠劵哦 ,以防后事之需