您的位置  > 互联网

运营商服务器的DNS缓存机制及迭代DNS解析方法

2、然后浏览会从搜索自身的DNS(Name,域名系统)缓存开始,逐级向上搜索。 这意味着浏览器首先在自己的DNS缓存中搜索这个域名(这涉及到浏览器的缓存机制);

如果浏览器没有从自己的DNS缓存中搜索(也可能是因为缓存已过期,即缓存时间已过。例如可以在地址栏输入:://net-/#dns查询自己访问过的网站),然后浏览器会搜索操作系统的DNS缓存(这里的操作系统是指您正在使用的计算机);

如果仍然找不到本地操作系统的DNS缓存,浏览器会尝试读取本地HOST文件。 这个HOST文件可以根据以下路径找到,即C////etc/hosts。 如果在HOST文件中仍然没有找到对应的配置项,则会从路由器的缓存中查找(前提是你连接的是无线网络,如果是宽带连接则省略此步骤) );

3、如果在任何缓存中找到上述过程,那么页面内容将直接显示在屏幕上; 如果没有找到,浏览器会发起DNS系统调用,即向本地主DNS服务器(一般是(比如你的宽带运营商提供的服务器))发起域名解析请求;

宽带运营商服务器会检查自己的缓存找到对应的表项,看是否已经过期或者该表项是否存在; 如果仍然找不到,运营商服务器将代表浏览器发起迭代DNS解析请求。 这意味着运营商服务器将查找根域(即运营商服务器的上级服务器)的DNS IP地址。 如果根域服务器找不到IP地址,但是可以找到com域顶级域的IP地址,那么它会将com域顶级域的IP地址返回给运营商服务器;

运营商服务器获取到后,会向com域的DNS服务器询问是否可以找到该IP地址。 如果找不到IP地址,但可以找到该域的IP地址,则查询该域的IP地址。 返回运营商服务器;

运营商获得服务器后,会询问该域的DNS服务器(这个服务器一般是域名注册商提供的,如万维网等),看能否查到IP地址。 一般情况下,当你访问这个域名时,只要已经在网站注册备案过,就可以在这里找到(如果还没有找到,则会进行其他处理)。 核对后,将IP地址返回给运营商的DNS服务器;

运营商的DNS服务器得到结果后,会将结果返回给操作系统内核并缓存(缓存时间根据缓存时间而定)。 操作系统内核将结果返回给浏览器,浏览器最终得到相应的结果。 IP地址;

4、浏览器通过DNS服务器解析得到网站的IP地址后,向域名对应的IP地址服务器发起TCP连接,即发起HTTP“三向握手”。 即这个TCP连接请求必须经过层层路由设备到达服务器,进入网卡,然后进入内核的TCP/IP协议栈。 还可能经过防火墙过滤,最终到达Web服务器,然后建立TCP/IP连接;

5、TCP/IP连接建立后,浏览器可以向服务器发送HTTP请求; (例如,GET请求根域中的域名地址,)

6、服务器收到请求后,根据路径参数,经过一些后端处理后,将处理结果返回给浏览器; (浏览器发送一个 (请求头),然后进入 Web 服务器上的 Web,如、Node.JS 等服务器,然后进入部署的后端应用程序,如 PHP、Java 等) ,找到相应的请求处理,最后处理反馈头并将数据返回给浏览器,比如我要搜索关于TCP/IP的知识,服务器会将得到的HTML页面返回给浏览器。 )

7、浏览器获得完整的HTML页面代码或其他数据结果后,浏览器开始下载HTML文档,设置缓存并关闭TCP连接。 当浏览器解析渲染这个页面时,里面的js、CSS、图片等静态资源也是HTTP请求,都需要经过上述主要步骤;

8、浏览器根据获取到的资源进行页面渲染,最终将一个完整的页面呈现给用户。 (即浏览器解析整个HTML结构形成DOM树,同时解析对应的CSS文件形成CSS树,然后将DOM树和CSS树结合起来形成绘图树。得到后绘制树时,需要计算每个节点在页面中的位置,这个过程称为布局(),该过程是在连续的二维平面上执行的,接下来需要将这些结果光栅化并映射到离散的二维上。这个过程称为绘制(着色),为了提高性能,现代浏览器将页面分为多个层,对每个层进行绘制,然后将它们组合成一个页面( ))。