我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

大家好,我是辉夜姬,我很可爱。故事从一个经典的面试问题开始:从输入 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服务器的级别是密不可分的。

互联网这个庞大的网络是可以分层处理的。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/7878.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线