DNS 解析过程

image.png

一张图即可说明,如果能看到上图就不用往下看了。下面是上图的文字版解析

a. 用户输入 URL:

当你在浏览器中点击一个链接或输入一个网址时,比如点击一个图片链接 http://www.example.com/image.jpg,这个过程开始于你的设备尝试理解这个地址所指向的服务器位置。

b. 浏览器检查缓存:

浏览器首先检查自身缓存中是否有这个网址的 DNS 记录存在(即该网址对应的 IP 地址)。如果缓存中有记录,它会直接使用这个 IP 地址。缓存不仅包括浏览器缓存,还可能查看操作系统缓存。

c. 请求本地 DNS 服务器:

如果缓存中没有找到记录,浏览器会向配置的本地 DNS 服务器发起一个 DNS 查询请求。本地 DNS 服务器通常由你的互联网服务提供商(ISP)提供,也可能是你在网络设置中手动指定的,如 Google 的公共 DNS 服务器(8.8.8.8 或 8.8.4.4)。

  • 本地 DNS 服务器: 这是一个响应你 DNS 查询请求的服务器,通常由 ISP 提供。它有助于将域名(如 www.example.com)解析为 IP 地址。
  • 设备如何知道本地 DNS 地址: 设备通过 DHCP (Dynamic Host Configuration Protocol) 从网络路由器或 ISP 获得本地 DNS 服务器的地址。当你的设备连接到网络时,DHCP 负责分配 IP 地址及 DNS 服务器地址等网络配置信息。
d. 递归查询:

如果本地 DNS 服务器没有缓存该域名的记录,它会进行递归查询,向更高级的 DNS 服务器(根、顶级域和权威 DNS 服务器)查询直到获取到 IP 地址。

e. IP 地址响应:

一旦 IP 地址被找到,本地 DNS 服务器将其返回给你的设备,并通常会缓存这个信息以加速未来的查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2981700.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Excel 冻结前几行

Excel中有冻结首航和冻结首列的选项,但是如果想冻结前几行该怎么操作? 冻结首行或冻结首列 视图 -> 冻结窗格 -> 冻结首行或冻结首列 冻结前几行或前几列 视图 -> 冻结窗格 -> 冻结拆分窗格 具体冻结几行和几列取决于当前选中的单元格。…

使用甘特图来做时间管理

在这个追求效率的时代,掌握高超的时间管理技能几乎等同于掌控了成功。事实上,时间就是金钱,更是稀缺资源。那么,如何高效地规划和利用时间呢?甘特图应该是您的必备武器之一。 甘特图(Gantt chart)名字虽然有些陌生,但它的使用范围确实广泛。无论是全职妈妈安排家务,还是上市公…

数据库轻松切换:解读Spring中的AbstractRoutingDataSource

欢迎来到我的博客,代码的世界里,每一行都是一个故事 数据库轻松切换:解读Spring中的AbstractRoutingDataSource 前言AbstractRoutingDataSource介绍作用和优势:作用:优势: 使用 AbstractRoutingDataSource …

flutter release 报错 Error: SocketException: Failed host lookup:

flutter 的 debug 模式没有任何问题 ,打了release 包后一直报下面的错,查了一下是 因为没有网络权限 Error: SocketException: Failed host lookup: yomi-test-aws-sg.yomigame.games (OS Error: No address associated with hostname, errno 7) 按照下…

【Vue】常见的七大属性(描述+案例)

一、前言 最近,因为项目需要自己就去学习了一下Vue的相关知识,自己花了几天,结合官方文档和相应的视频学习了一下Vue,了解了Vue大概的一些属性,方法,特点等。接下来博主会将自己学习的相关内容通过博客的形式进行记录…

python实现钉钉通讯录导出Excel表

Python工具开源专栏 Py0004 python实现钉钉通讯录导出Excel表 Python工具开源专栏前言目录结构部分演示完整代码已在GitHub上开源 前言 需求来源于公司,需要将钉钉通讯录以Excel表的形式导出到本地,方便定期备份。导出的Excel需要处理钉钉用户兼任多部门…

W801学习笔记十一:掌机进阶V3版本之硬件改造

经由前面的笔记,我们打造出了一款游戏掌机。 W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结) 然而,考虑到后续的游戏开发,总是忧心容量不足。故而,在正式展开软件开发工作以前,最终进行一下升级改造…

Ai终端程序推荐waveterm

有没有人根据Ai的风口,做智能终端呢?答案是真有,真有专为无缝工作流程而构建的开源 AI 原生终端。它是去年推出的一个产品,专为程序员和开发者设计,比较创新的一点是所有的工作可以在终端完成,开源和可扩展…

Python静态资源库之webassets使用详解

概要 Python webassets库是一个用于管理静态资源的工具,如CSS、JavaScript等,帮助开发者更有效地管理和优化网站的静态文件。本文将介绍如何安装和使用Python webassets库,以及它的特性、基本功能、高级功能、实际应用场景和总结部分。 安装 首先,需要安装Python webasse…

<前端>Electron-builder为公证后的app打更新信息latest.yml

MacOS下,Electron-builder可以很方便的为测试包app打更新信息(latest-mac.yml)。 但是,正式发布的时候,不可能用测试包app,因为还没有进行公证。如何为公证的app打latest-mac.yml呢。 其实观察latest-mac.y…

StartAI智能绘图软件出现“缺少Python运行库”怎么办?

StartAI做为一款国产AI界的新秀,是一款贴合AIGC新手的智能绘图软件。新手安装遇见“缺少Python运行库”怎么办”?小编一招搞定~ 解决方法:手动下载【resource文件】,将文件添加到安装目录下。 点击链接进行手动下载噢~ 确保 Star…

Pytest精通指南(28)钩子函数-测试报告(pytest-html)

文章目录 前言应用场景插件安装参数分析使用方法拓展-定制化报告 前言 在软件开发过程中,测试是确保代码质量的关键环节。 而测试报告则是测试过程中不可或缺的输出物,它为我们提供了关于测试用例执行情况的详细信息,帮助我们快速定位和解决问…

AGON爱攻×保时捷设计第三代OLED超宽屏PD49震撼上市!

一次科技与艺术的审美共振,开启多维度、沉浸式感官之旅! 科技与艺术的融合,引领着美学新时代。4月22日,全球电竞显示器销量冠军品牌AGON爱攻与欧洲最具创造力的设计工作室保时捷设计再度携手,重磅推出AGON爱攻保时捷设…

比亚迪唐EV和唐DM-p荣耀版上市,成为新能源汽车市场中的佼佼者!

随着环保理念的深入人心,新能源汽车市场正迎来前所未有的发展机遇。在这个变革的浪潮中,唐EV和唐DM-p荣耀版的上市无疑为市场注入了新的活力。它们凭借先进的技术、卓越的性能以及豪华配置,成为了新能源汽车市场中的佼佼者。然而,…

数据结构(七)---树

目录 一.树的基本概念 二.树的性质 三.二叉树 1.二叉树的基本概念 2.特殊的二叉树 (1)满二叉树 (2)完全二叉树 (3)二叉排序树 (4)平衡二叉树 3.二叉树的性质 4.完全二叉树…

Maven:配置与使用指南1

https://mvnrepository.com Maven 1.maven简介 不同模块的jar包以及同时设计的功能的微小变化版本; 真实的开发环境:我们将我们的源代码在服务器上重新编译重新打包,工程升级维护过程繁琐 1.Maven是一个项目管理工具,将项目开…

WebSocket的原理、作用、API、常见注解和生命周期的简单介绍,附带SpringBoot示例

文章目录 原理作用客户端 API服务端 API生命周期常见注解SpringBoot示例 WebSocket是一种 通信协议 ,它在 客户端和服务器之间建立了一个双向通信的网络连接 。WebSocket是一种基于TCP连接上进行 全双工通信 的 协议 。 WebSocket允许客户端和服务器在 单个TCP连接上…

【音视频服务】VoIP 推送转 APNs 推送如何设置?

融云控制台 VoIP 设置入口: VoIP 设置 功能说明 针对苹果官方要求收到 VoIP 推送后必须通知给系统 CallKit 框架,如果收到 VoIP 推送后没有报告给 CallKit,iOS 将终止该应用程序(目前只影响用 Xcode 11 打包的 App 运行在 iOS 13 …

Springboot实现国际化以及部署Linux不生效问题

1、在application.properties 添加以下配置: #国际化配置 spring.messages.basenamei18n/messages/messages spring.messages.fallback-to-system-localefalse 2、添加配置文件在 resources目录下 如下图所示: 这个国际化文件命名有个坑,必须…

伙伴匹配(后端)-- 前端初始化

文章目录 用脚手架初始化项目安装依赖启动项目image.png整合组件库Vant 用脚手架初始化项目 Vite官网:https://www.vitejs.net/guide/#scaffolding-your-first-vite-project cmd切换到项目目录下初始化项目 npm init vitelatest安装依赖 npm install启动项目 整…