DNS 解析过程

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

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 服务器将其返回给你的设备,并通常会缓存这个信息以加速未来的查询。

相关推荐
IsPrisoner3 小时前
Go语言安装proto并且使用gRPC服务(2025最新WINDOWS系统)
开发语言·后端·golang
tan180°5 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理
有梦想的攻城狮5 小时前
spring中的@MapperScan注解详解
java·后端·spring·mapperscan
大学生小郑6 小时前
Go语言八股之Mysql基础详解
mysql·面试
柚个朵朵6 小时前
Spring的Validation,这是一套基于注解的权限校验框架
java·后端·spring
Asus.Blogs7 小时前
为什么go语言中返回的指针类型,不需要用*取值(解引用),就可以直接赋值呢?
开发语言·后端·golang
C_V_Better7 小时前
Java Spring Boot 控制器中处理用户数据详解
java·开发语言·spring boot·后端·spring
胡子洲7 小时前
Spring Boot 应用中实现基本的 SSE 功能
java·spring boot·后端
贰拾wan8 小时前
【Java-EE进阶】SpringBoot针对某个IP限流问题
java·spring boot·后端·idea