浏览器输入一个域名的解析过程

目录

从输入一个域名的解析过程

以www.baidu.com为例子

本地缓存和hosts文件

mDNS和LLMNR

NBT-NS

路由器广播

Root域名服务器

顶级域名服务器

目标域名服务器

DNS解析完成

操作系统发起TCP连接:

TCP三次握手: TCP连接的建立采用经典的三次握手过程:

TCP连接建立

HTTP请求

服务器处理请求:

HTTP响应:

浏览器渲染:


从输入一个域名的解析过程

  • 本地缓存和hosts文件: 首先,系统会检查本地的DNS缓存以及hosts文件,看是否有目标域名的解析记录。如果有,解析过程就直接结束,直接使用缓存或hosts文件中的IP地址。
  • mDNS和LLMNR: 如果本地缓存和hosts文件中没有找到,系统可能会使用mDNS(对于MacOS和Linux)或LLMNR(对于Windows)在局域网中进行主机名解析。这是一种在本地网络中进行零配置的服务发现协议。
  • NBT-NS: 如果mDNS和LLMNR都没有找到,系统可能会尝试使用NBT-NS(NetBIOS Name Service),这是一种用于在Windows网络中解析NetBIOS主机名的服务。
  • 路由器广播: 如果上述步骤都没有成功,系统可能会向本地网络的路由器发起广播请求,看是否能够得到目标主机的IP地址。
  • Root域名服务器: 如果局域网中的解析仍然失败,系统将发起DNS查询请求,首先向根域名服务器发起查询。根域名服务器将返回顶级域(例如.com)的权威DNS服务器地址。
  • 顶级域名服务器: 然后,系统将向顶级域名服务器发起查询,获取下一级域名服务器的地址。这个过程将一级一级地进行,直到获取到目标域名的权威DNS服务器。
  • 目标域名服务器: 最终,系统将向目标域名的权威DNS服务器发起查询,获取目标域名的IP地址。
  • DNS解析完成: 在上述DNS查询中,已经获取了目标域名(例如, www.baidu.com)对应的IP地址。
  • 操作系统发起TCP连接: 浏览器或其他网络应用通常会通过操作系统提供的套接字接口来发起TCP连接。操作系统根据DNS解析得到的IP地址,向目标服务器发起TCP连接请求。
  • TCP三次握手: TCP连接的建立采用经典的三次握手过程:
  • 第一步(客户端向服务器发送SYN): 客户端发送一个TCP报文,其中包含SYN(同步)标志,表示请求建立连接。
  • 第二步(服务器收到SYN并发送ACK和SYN): 服务器接收到客户端的SYN后,发送一个带有ACK(确认)和SYN标志的报文,表示同意建立连接。
  • 第三步(客户端收到ACK和SYN): 客户端接收到服务器的ACK和SYN后,发送一个带有ACK标志的报文,表示连接建立成功。
  • TCP连接建立: 当三次握手完成后,TCP连接建立成功,双方可以开始进行数据传输。
  • HTTP请求: 一旦TCP连接建立成功,浏览器向服务器发送HTTP请求,包括请求的资源路径等信息。
  • 服务器处理请求: 服务器接收到请求后,根据请求的资源路径等信息,处理并生成相应的HTTP响应。
  • HTTP响应: 服务器将响应内容通过TCP连接发送给浏览器。
  • 浏览器渲染: 浏览器接收到HTTP响应后,解析并渲染页面,呈现给用

以www.baidu.com为例子

本地缓存和hosts文件

检查本地DNS缓存和hosts文件,如果其中有"baidu.com"的解析记录,则直接使用相应的IP地址

图1 本地dns缓存
图二本地hosts文件

mDNS和LLMNR

如果本地缓存和hosts文件中没有找到,系统可能使用mDNS(MacOS和Linux)或LLMNR(Windows)在局域网中进行主机名解析。

NBT-NS

如果mDNS和LLMNR都没有找到,系统可能尝试使用NBT-NS(NetBIOS Name Service),在Windows网络中解析NetBIOS主机名。

路由器广播

如果上述步骤都没有成功,系统可能向本地网络的路由器发起广播请求,寻找" baidu.com"的IP地址。

Root域名服务器

如果局域网中的解析仍然失败,系统将发起DNS查询请求,向根域名服务器发起查询,获取.com顶级域的权威DNS服务器地址。

顶级域名服务器

系统将向.com顶级域名服务器发起查询,获取" baidu.com"的权威DNS服务器地址。
对" baidu.com ."的顶级DNS服务器的信息进行了查询。这里列出了"Baidu"公司的权威DNS服务器( ns1.baidu.com .、 ns2.baidu.com .等)。

目标域名服务器

系统将向" baidu.com"的权威DNS服务器发起查询,获取" baidu.com"的IP地址。
并且是一个别名的记录

DNS解析完成

在上述DNS查询中,已经获取了目标域名(例如,www.baidu.com)对应的IP地址。

操作系统发起TCP连接:

浏览器或其他网络应用通常会通过操作系统提供的套接字接口来发起TCP连接。操作系统根据DNS解析得到的IP地址,向目标服务器发起TCP连接请求。

TCP三次握手: TCP连接的建立采用经典的三次握手过程:

  • 第一步(客户端向服务器发送SYN): 客户端发送一个TCP报文,其中包含SYN(同步)标志,表示请求建立连接。
  • 第二步(服务器收到SYN并发送ACK和SYN): 服务器接收到客户端的SYN后,发送一个带有ACK(确认)和SYN标志的报文,表示同意建立连接。
  • 第三步(客户端收到ACK和SYN): 客户端接收到服务器的ACK和SYN后,发送一个带有ACK标志的报文,表示连接建立成功。

TCP连接建立

当三次握手完成后,TCP连接建立成功,双方可以开始进行数据传输。

HTTP请求

一旦TCP连接建立成功,浏览器向服务器发送HTTP请求,包括请求的资源路径等信息。

服务器处理请求:

服务器接收到请求后,根据请求的资源路径等信息,处理并生成相应的HTTP响应。

HTTP响应:

服务器将响应内容通过TCP连接发送给浏览器。

浏览器渲染:

浏览器接收到HTTP响应后,解析并渲染页面,呈现给用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年全国职业院校技能大赛软件测试赛题—单元测试卷③

单元测试 一、任务要求 题目1:输入一个大写字母一个小写字母。根据输入的第一个字母和英文周几单词的第一个大写字母判断是周几,如果无法根据第一个大写字母判断,则继续根据输入的第二个小写字母进行判断,最终返回正确的英文周几…

第88讲:XtraBackup实现增量数据备份以及故障恢复的应用实践

文章目录 1.XtraBackup增量备份恢复的概念2.XBK增量备份语法3.使用XBK实现数据库的增量备份3.1.周日全量备份数据库3.2.周一产生增量数据并进行增量备份3.3.周二产生增量数据并进行增量备份3.4.查看两次增量以及全量的备份文件3.5.核对全量和增量备份的准确性 4.使用XBK通过增量…

Python的运算符和数据类型转换

Python的运算符&#xff1a; 算术运算符: 加法&#xff1a;减法&#xff1a;-乘法&#xff1a;*除法&#xff1a;/取余&#xff1a;%幂运算&#xff1a;**整除&#xff1a;// 比较运算符: 等于&#xff1a;不等于&#xff1a;!大于&#xff1a;>小于&#xff1a;<大于等于…

WPF真入门教程27--项目案例--设备数据实时监测

1、上图看效果 今天要做的一个案例是这样的效果&#xff0c;它能实时监测车间设备有关数据&#xff0c;并以表格和图形显示在界面上&#xff0c;这个比上个案例要复杂些&#xff0c;颜值也高些&#xff0c;通过这个来巩固wpf的技能&#xff0c;用到了命令绑定&#xff0c;样式…

【数据库】视图索引执行计划多表查询笔试题

文章目录 一、视图1.1 概念1.2 视图与数据表的区别1.3 优点1.4 语法1.5 实例 二、索引2.1 什么是索引2.2.为什么要使用索引2.3 优缺点2.4 何时不使用索引2.5 索引何时失效2.6 索引分类2.6.1.普通索引2.6.2.唯一索引2.6.3.主键索引2.6.4.组合索引2.6.5.全文索引 三、执行计划3.1…

uniapp运行自定义底座到真机没反应

同步资源失败&#xff0c;未得到同步资源的授权&#xff0c;请停止运行后重新运行&#xff0c;并注意手机上的授权提示。 如果此时手机没有任何反应&#xff0c;请检查自定义基座是否正确;如果是离线制作的自定义基座包&#xff0c; 请检查离线包制作是否正确。 网上各种查找报…

C++力扣题目513找树左下角的值

给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 思路 本题要找出树的最后一行的最左边的值。此时大家应该想…

C#Stopwatch类高精度计时功能

Stopwatch 是 C# 中的一个类&#xff0c;用于测量时间间隔的工具。它提供了高精度的计时功能&#xff0c;可以用于性能测试、调试和其他需要测量时间的场景。 使用 Stopwatch 类&#xff0c;你可以执行以下操作&#xff1a; 启动计时器&#xff1a;使用 Start 方法启动计时器…

Verilog 状态机 示例

状态机设计&#xff1a;3 段式&#xff08;推荐&#xff09; 状态机设计如下&#xff1a; (0) 首先&#xff0c;根据状态机的个数确定状态机编码。利用编码给状态寄存器赋值&#xff0c;代码可读性更好。 (1) 状态机第一段&#xff0c;时序逻辑&#xff0c;非阻塞赋值&#xf…

okcc呼叫系统如何配置呼入?

配置OKCC的呼入需要进行以下步骤&#xff1a; 1. 登录OKCC管理界面&#xff1a;使用管理员账号和密码登录OKCC的管理界面。通常可以在浏览器中输入OKCC的IP地址或域名来访问管理界面。 2. 确认网关配置&#xff1a;在OKCC管理界面中&#xff0c;确认已正确配置了网关&#xf…

在windows11系统上利用docker搭建linux记录

我的windows11系统上&#xff0c;之前已经安装好了window版本的docker&#xff0c;没有安装的小伙伴需要去安装一下。 下面直接记录安装linux的步骤&#xff1a; 一、创建linux容器 1、拉取镜像 docker pull ubuntu 2、查看镜像 docker images 3、创建容器 docker run --…

rtm姿态跟踪

6年前&#xff1a; GitHub - YuliangXiu/PoseFlow: PoseFlow: Efficient Online Pose Tracking (BMVC18) 报错&#xff1a; Clarification on min_keypoints in tracking Issue #1411 open-mmlab/mmpose GitHub https://github.com/open-mmlab/mmpose/blob/c8e91ff456d82c…

根能抵达的节点(二分法、DFS)C++

给定一棵由 N个节点构成的带边权树。节点编号从 0到 N−1&#xff0c;其中 0 号点为根节点。最初&#xff0c;从根节点可以抵达所有节点&#xff08;包括自己&#xff09;。如果我们将所有边权小于 X 的边全部删掉&#xff0c;那么从根节点可以抵达的节点数目就可能发生改变。 …

全国首创:福建协和医院成功完成长期型人工心脏微创植入

导语 微创技术在心脏手术领域正逐渐发展&#xff0c;并取得了突破性进展。最近&#xff0c;福建协和医院成功进行了全球第二例微创EVAHEART左心室辅助装置手术&#xff0c;为心脏病患者带来新的希望和治疗选择。 2023年11 月&#xff0c;中华医学会胸心血管外科学分会第八届…

从零开始学Python:分支结构

应用场景 迄今为止&#xff0c;我们写的Python代码都是一条一条语句顺序执行&#xff0c;这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题&#xff0c;比如我们设计一个游戏&#xff0c;游戏第一关的通关条件是玩家获得1000分&#xff0c;那么在完成本…

电商建表常用前缀[ams/mms/pms/oms/cms/wms/crm]

ams&#xff1a;代表 "Admin Management System"&#xff0c;即管理后台系统。该模块通常用于管理用户、权限、订单等与后台管理相关的功能。 mms&#xff1a;代表 "Merchant Management System"&#xff0c;即商家管理系统。该模块通常用于管理商家账户、…

Duality

对偶 拉格朗日对偶函数 考虑优化问题 min ⁡ f 0 ( x ) s.t. f i ( x ) ≤ 0 , i 1 , … , m h i ( x ) 0 , i 1 , … , p \begin{array}{ll} \min & f_0\left(\mathbf{x}\right) \\ \text {s.t.} & f_i\left(\mathbf{x}\right) \leq 0, \quad i1, \ldots, m \\ …

基于人脸识别的智慧校园方案—校内区域智能管理(2)

实验室人脸识别 实验是教师、学生和科研人员进行教学和科学研究的重要场地,也是学校教务管理中的重要组成部分,高校实验室管理质量直接影响教学科研工作质量。 随着在校学生的日益增多,实验室资源如何分配利用、实验室设施安全如何保障也成为一大难题。运用智能管理系统开…

windows安装Elasticsearch后使用ik分词器报错解决办法

最近在学习Elasticsearch&#xff0c;安装完成后下载了ik分词器压缩到plugins目录下启动es报错如下&#xff1a; java.security.AccessControlException: access denied (“java.io.FilePermission” “D:…\plugins\ik-analyzer\config\IKAnalyzer.cfg.xml” “read”)咋一看…

外贸建站主机哪个好?海洋建站系统怎么样?

外贸建站主机的选择攻略&#xff1f;搭建电商网站用哪个主机好&#xff1f; 要在互联网上建立一个成功的外贸网站&#xff0c;选择一款稳定可靠的外贸建站主机是至关重要的一环。海洋建站将探讨在众多选择中&#xff0c;如何寻找一款适合自己业务需求的外贸建站主机。 外贸建…