大家好,我是辉夜姬,我很可爱。故事从一个经典的面试问题开始:从输入 URL 到页面加载会发生什么?相信大家对于这个话题应该都不陌生。本系列是我继《一篇文章理解JS系列》之后的第二个系列。目的是让大家了解这个加载过程,能够从简答到深入答的流利答题!
前言
首先,有一点是,互联网计算机是通过IP地址来识别和通信的。
因此,当我们使用域名的时候,比如我们访问百度网站的时候,其实我们内部是通过域名解析找到百度的IP地址,然后从中获取加载页面所需要的资源文件(HTML)对方的服务器。 + CSS + JS 或图像视频文件等...)
因此,并不能像大家想象的那样通过域名直接进行通信。
记住 IP 地址通常不太方便用户。为了方便记忆,使用域名代替IP地址来标识站点地址。
域名解析可以分为两个过程。首先请求缓存,但找不到缓存,然后查找DNS服务器。下面我们主要分析这两种类型。
缓存解析浏览器缓存
当用户在浏览器中输入URL地址并回车后,我们的域名解析工作就开始了。
首先,浏览器会检查缓存中是否有该域名对应的IP地址。如果是这样,那么决议就结束了。
当然,你并不是每次都这么幸运,它只是恰好在缓存中。
因为浏览器的缓存域名也是有限的。不仅浏览器缓存的大小受到限制,而且其持续时间也受到限制。通常,该时间范围从几分钟到几小时不等。
这个缓存时间太长或者太短都不好,因为太短的话下次就得重新解析,浪费资源。但如果太长,如果这个域名绑定的IP地址已经改变,那么缓存就会一直指向旧的服务器地址,页面就永远是旧的。或者可能对方只是换了服务器,导致页面无法直接打开。 (人都搬家了,你还继续找别人的旧地址,这可不傻!)
操作系统缓存
当然,如果没有找到上面的浏览器缓存,我们的操作系统也有相应的缓存,计算机设计还是相当可靠的。
可以通过C:\\\\etc\hosts文件进行设置,可以将任意域名解析为任意可访问的IP地址。您也可以自己指定域名对应的IP地址。但就是这么一个小功能,就给黑客提供了可乘之机。
通过程序修改系统的域名解析系统,将你要访问的域名解析到其指定的IP地址。这时候,就发生了所谓的域名劫持。
因此,在后续的更新中,将hosts改为不可修改的只读文件,从而避免了上述问题。
路由器缓存 缓存
如果操作系统没有缓存,就会到路由器中查找IP地址解析结果。
需要注意的是(缓存只是保存解析结果,两者不具备真正完成域名解析的能力)
DNS 概念
DNS(Name),域名解析系统,是互联网基础资源的核心服务,主要用于承载IP地址与互联网域名之间的转换。其主要功能相当于互联网IP地址的电话簿。
本地域名服务
当然,如果上述缓存中没有对应的域名解析结果,则实际上会向域名服务器请求该结果。第一个请求是LDNS,即本地DNS。这些服务器一般架设在离用户不远的地方,性能非常好,所以一般都会缓存域名解析结果,大约80%的域名解析都是在这一步完成的。因此,LDNS承担了主要的域名解析工作。
当在缓存服务器中没有找到时,该信息将被传递到根域名服务器。
DNS服务器
在DNS服务器中,主要有三种类型
graph TD
根DNS服务器 --> 顶级DNS服务器 --> 权威DNS服务器
全球共有13组根域名服务器(注:这不是指13台服务器,而是13个IP地址,按照字母am编号)。根域名服务器不会直接解析域名,而是分配不同的解析请求。留给下面其他服务器来完成吧。
举个例子:
当根域名收到本地DNS的解析请求时,得知后缀为.com,然后将负责.com的顶级域名服务器的IP地址返回给本地DNS。
然后本地DNS向负责.com的顶级域名服务器发起请求。 .com顶级域名服务器也会检查是否有该域名的解析结果。如果不是,则返回权威DNS服务器的IP地址给本地DNS,然后是,依此类推,根据域名的级别递归。
graph TD
.根DNS服务器 --> .com顶级DNS服务器 --> qq.com权威DNS服务器 --> www.qq.com权威DNS服务器
可以看到我们的域名和DNS服务器的级别是密不可分的。
互联网这个庞大的网络是可以分层处理的。
扫一扫在手机端查看
-
Tags : 域名解析过程的查询方式_域名解析流程,看完这一篇就够了
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。