博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
尝试利用刚学的计算机网络知识对域名绑定和解析做出解释
阅读量:5281 次
发布时间:2019-06-14

本文共 2708 字,大约阅读时间需要 9 分钟。

之前写过一篇博文, ,在这篇

博文里,做了一件什么事呢?

  1. 利用github pagesJekyll创建了个人网站,这个个人网站的原始域名是: logos23333.github.io
  2. 在aliyun购买了logos23333.top域名
  3. logos23333.toplogos23333.github.io绑定,当用户在浏览器键入logos23333.top时,自动解析到logos23333.github.io

我现在是大二下,开了computer networking 这门课程,所以我就想着用所学的知识具体解释一下这个第3点是怎么实现的,如果有不对的地方请不吝赐教!

当初我们绑定域名时做了两件事情:

  1. 在aliyun的域名管理界面,找到了自己购买的域名logos23333.top,对其进行解析,添加了三条记录。
    0
  2. 在仓库(服务器)里创建名为CNAME的文件,并将其内容改为logos23333.top

第一步有什么作用呢?

Computer Networking A Top-Down Approach 一书中,我们对于一条DNS记录有以下的认识:

A resource record is a four-tuple that contains the following fields: (Name, Value, Type, TTL)

TTL is the time to live of the resource record; it determines when a resource should be removed from a cache.

TTL决定了一条记录在缓存中存在的时间,也就是说,TTL时间越长,缓存时间越长,更新越不容易及时生效,增加TTL值,可以加速网站访问速度,节约域名解析时间,相反,TTL时间越短,缓存时间越短,生效时间也就更快。

在下面的讨论中,我们忽略TTL,只关注Name ValueType

If Type=A, then Name is a hostname and Value is the IP address for the hostname. Thus, a Type A record provides the standard hostname-to-IP address mapping. As an example, (relay1.bar.foo.com, 145.37.93.126, A)

is a Type A record.
If Type=NS, then Name is a domain (such as foo.com) and Value is the hostname of an authoritative DNS server that knows how to obtain the IP addresses
for hosts in the domain. This record is used to route DNS queries further along in the query chain. As an example, (foo.com, dns.foo.com, NS) is a Type
NS record.
If Type=CNAME, then Value is a canonical hostname for the alias hostname Name. This record can provide querying hosts the canonical name for a hostname. As an example, (foo.com, relay1.bar.foo.com, CNAME) is a
CNAME record.
If Type=MX, then Value is the canonical name of a mail server that has an alias hostname Name. As an example, (foo.com, mail.bar.foo.com, MX) is an MX record. MX records allow the hostnames of mail servers to have simple aliases. Note that by using the MX record, a company can have the same
aliased name for its mail server and for one of its other servers (such as its Web server). To obtain the canonical name for the mail server, a DNS client would query for an MX record; to obtain the canonical name for the other server, the
DNS client would query for the CNAME record.

再来分析我们添加的三条记录:

  1. CNAME @ logos23333.github.io,这条DNS记录的type是CNAME,也就是添加一个别名@的意思是直接解析,也就是说当我们解析logos23333.top时,会自动去解析logos23333.github.io的ip地址。
  2. A www 192.30.252.153,这条DNS记录的type是A,这里的192.30.252.153是github服务器的名字。第3条记录也是一样的意思。

我现在有以下几个点不明白:

  1. 添加那两条A类型的记录有什么意义?如果我只是想实现解析logos23333.top时去解析logos23333.github.io这样的功能,只提供一个CNAME记录不就可以了?
  2. 我在github仓库添加一个CNAME文件,里面写着logos23333.top的意义在哪?似乎只添加那一条CNAME记录就能实现了。

2018/3/12 23:51 在github pages的帮助界面,似乎官方并不是通过创建CNAME文件这种方式,而是直接在仓库的settings里改,好像是一样的效果。

转载于:https://www.cnblogs.com/logosG/p/9180535.html

你可能感兴趣的文章
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>
HDU 1021 一道水题
查看>>
The operation couldn’t be completed. (LaunchServicesError error 0.)
查看>>
php每天一题:strlen()与mb_strlen()的作用分别是什么
查看>>
工作中收集JSCRIPT代码之(下拉框篇)
查看>>
《转载》POI导出excel日期格式
查看>>
code异常处理
查看>>
git - 搭建最简单的git server
查看>>
会话控制
查看>>
推荐一款UI设计软件Balsamiq Mockups
查看>>
Linux crontab 命令格式与详细例子
查看>>
百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
查看>>
游标使用
查看>>
LLBL Gen Pro 设计器使用指南
查看>>
SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP
查看>>
Android 设置界面的圆角选项
查看>>
百度地图api服务端根据经纬度得到地址
查看>>
根据xml生成相应的对象类
查看>>
Android StageFrightMediaScanner源码解析
查看>>