如何搭建一个自己的网站-域名篇(上)

咪哥杂谈

共 3306字,需浏览 7分钟

 · 2020-06-29

咪哥杂谈


34ac05c14c896a144b6f71c2e0fec50d.webp

本篇阅读时间约为 7 分钟。


1

前言


今天来给大家介绍,域名篇。
随着互联网时代来临,浏览器成为了日常必备的电脑工具。
而域名,但凡用过浏览器的朋友都知道它长什么样。
比如百度:80bc4b017ac568f08a9e90f1cfec62c7.webp
那我们用了这么久的域名,你知道它的组成以及作用是什么吗?
带着这个问题,继续往下读。

2

域名的组成


依然以百度为例:

be2453cbe283569d8c609f7f69939d8e.webp

从形式上来说,域名由 . 来进行分割英文组成。


如果按照正常的阅读方式,从左往右看。


但是,看域名则不同,需要你从右往左看去理解。


首先在最右边 .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 俗称万维网,只是大家“默认”的域名前缀,但它并不是必须的。


譬如,百度知道:

aa06929e477a4fab06134c3a9b781b70.webp


3

域名以及域名系统


组成讲完了,我们来聊聊域名的作用。


一说到域名,那必然离不开一个词 - DNS 。


DNS,英语:Domain Name System,中文:域名系统。


是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

wiki百科

看了概念还没懂?没关系,让我用通俗易懂的例子来给你解释一下。


现在我们浏览网站的数量非常多,每个网站背后都对应着 ip ,就像你的电脑也对应着一个公网 ip 一样,比如下面:


4594f530206a0131c3c0d74463d3f95c.webp


如果网站全部用 ip 进行访问,那肯定很难记住,所以就需要一个类似地址簿一样的东西,根据名称,去查询背后的地址。
比如,有天中午你饿了,于是你打开美团外卖,订了"麦当劳"。

4eb66f7e2c7b17ff2445c44955636b80.webp


此时外卖小哥收到来自你的订单,"麦当劳"是全国连锁店,那具体外卖小哥要去哪里取餐呢?
通过美团的提示,查询到离你最近的麦当劳地点,提示小哥应该去"前门西大街店"的麦当劳进行取餐。
所以,这里的"麦当劳"可以对应成域名,"美团"对应成 DNS 服务器,前门西大街麦当劳店的具体地址则对应成 ip 地址
那回到网络世界里,我们每访问域名一次,都需要经过 DNS 服务帮我们进行解析。
可见 DNS 非常重要,因此 DNS 服务器的设计,就引出了高可用,高并发,分布式的概念。
然后,就有了按照不同层来划分 DNS 服务器的设计,如下图:

6e900c8d7017f13eb9cf1f629394237f.webp


根 DNS 服务器:返回顶级 DNS 服务器的 ip 地址。


顶级域 DNS 服务器:返回权威 DNS 服务器的 ip 地址。


权威 DNS 服务器:返回相应主机的 ip 地址。


是不是觉得这个分层和域名的组成有些类似?


先对着这几个基础概念眼熟下,不明白没关系,继续往下看。


眼熟上述概念,那再来看看我们请求域名后,解析ip的流程是怎样的?
依旧是来看一张流程图,一共有十步,用文字来对照解释:

57311b51311c1657387986123289be9c.webp


从上往下,从 1 到 10来看。首先电脑通过浏览器访问一个域名,比如百度 www.baidu.com 。

1. 浏览器检查是否有 DNS 相关缓存,通过域名查找 ip 。
比如谷歌浏览器:

c8063c25019fcdcf11121dc2b10788ff.webp

但由于谷歌浏览器的新版本去掉了 DNS 列表查看功能,目前你能看到的只有清理缓存按钮了。

如果你想看到浏览器缓存的 dns 列表,还有一种方法。
访问 chrome://net-export/ ,进行网络日志下载。

7ecfd424293aec0a4e8c9abecd8afdf1.webp


将 json 日志文件上传到此网站:https://netlog-viewer.appspot.com/

e6cb3417a4783e50b6ef344b2b5cac36.webp


实际上,就像图中表格一样,域名和 ip 地址相对应,就是 DNS 所做的事儿。
如果找到,则直接返回 ip ,若没有,进行下一步。
2. 如果浏览器 DNS 缓存失效,则去本机的 hosts 文件中进行查找。
57311b51311c1657387986123289be9c.webpwindows和Linux的hosts文件路径不同,自行网上搜索。

有的时候,GitHub访问不了,知道为什么改 hosts 文件起作用了吧?
如果找到,则直接返回 ip ,若没有,进行下一步。
3. 如果 hosts 文件中没有对应的映射,则访问本地 DNS 服务器。

57311b51311c1657387986123289be9c.webp
本地 DNS 服务器,一般都是由网络供应商提供,比如中国联通、电信自动分配。说白了,就是服务商的某个机房。
如果找到,则直接返回 ip ,若没有,进行下一步。
4、5. 本地 DNS 服务器依然没有找到相关 ip。

57311b51311c1657387986123289be9c.webp那本地 DNS 服务器就会问根 DNS 服务器。
本地DNS:"根老大,告诉我下 www.baidu.com 的 ip 地址呗!"
根老大听到本地 DNS 小弟的召唤后,
回复到:".com结尾的域名啊,我给你它对应的顶级域名 DSN 服务器地址,你去问它!"

6、7:本地 DNS 服务器询问顶级 DNS 服务器。
57311b51311c1657387986123289be9c.webp
于是本地DNS小弟又再次请求了顶级域名DNS服务器。

本地DNS:"顶老二,老大叫我来问你,www.baidu.com的 ip 地址,告诉我一下呗!"
顶老二:"嗨,不就 www.baidu.com 吗!小意思,我给你它的权威 DNS 服务器地址,你去问它!"
8、9:本地 DNS 服务器询问权威 DNS 服务器。
57311b51311c1657387986123289be9c.webp
本地DNS:"权三哥,顶老二都让我来问你,www.baidu.com 对应的 ip 地址,到底是啥啊!!"
权威DNS:"别急,老弟,我给你查查。查到了!220.181.38.148"

PS:权威DNS服务器,就是针对特殊的 ip 进行解析的服务器,所谓的权威是针对特定域名来说的。
下图只是我为了获取百度 ip 而做的例图:

f0584e8d97b307a7107066c775476e16.webp


10:本地 DNS 服务器拿着真实的 ip ,开开心心地将 ip 返回给了电脑。
57311b51311c1657387986123289be9c.webp最终,电脑与目标 ip 成功地建立了连接。
故事完。


当你明白了根、顶级、权威 DNS 服务器的基础概念之后,再去看解析流程后,才会有一种"恍然大悟"的感觉。
那关于 DNS ,它和域名的关系,到这里就结束了。

除了帮助域名解析以外,其实 DNS 还有一个作用,就是负载均衡,那这里就不过多讲了,感兴趣的可以看下我后面分享的极客时间链接。

4

结语


今天这篇文章,足以让你了解域名的常用知识了。


对网络感兴趣的同学,建议消化一下。


本篇内容是原理部分,授人以鱼不如授人以渔,一直是我推崇的文章风格,所以不能光有结论,弄清原理也是非常重要的。


关于 DNS 的原理部分,是我当初在极客时间上,学习刘超老师趣谈网络协议写下的总结。


如果你对原文感兴趣,可以自行复制链接,发送到微信对话框,打开进行查看:


https://time.geekbang.org/column/article/df26400ec571b6c6353e9fe493491881/share?code=ba5SNpiZcgP6gFH2N4CPup0%2FDIiiparYLkzB803qb-s%3D


(20个免费试读名额,先到先得)


下一篇就来直接上手介绍,如何申请我们自己的域名,以及一些配置和注意的点。


那关于本篇,如果你有什么疑惑点,欢迎评论区留言探讨。


看到这里,绝对是真爱学习粉了,今天的 2700+ 字内容,你学废了嘛!




▼往期精彩回顾▼PyCharm几个常用的快捷键如何搭建一个自己的网站-概述篇(一)




浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报