【好书精读】网络是怎样连接的 向 DNS 服务器查询 Web 服务器的 IP 地址

news2024/11/26 12:50:28

(该图由AI制作 学习AI绘图 联系我)

目录

IP 地址的基本知识

实际的 IP 地址

域名和 IP 地址并用的理由 

Socket 库提供查询 IP 地址的功能

通过解析器向 DNS 服务器发出查询

解析器的内部原理


IP 地址的基本知识

  1. 生成 HTTP 消息
  2. 根据域名查询 IP 地址
  3. 委托操作系统 消息发送给 Web 服务器
在委托操作系统发送消息时 必须要提供的 不是通信对象的域名,而是它的 IP 地址

实际的 IP 地址

域名和 IP 地址并用的理由 

简单来说就是效率

Socket 库提供查询 IP 地址的功能

Socket 库是用于调用网络功能的程序组件集合。

通过解析器向 DNS 服务器发出查询

  1. 调用解析器后解析器会向 DNS 服务器发送查询消息
  2. DNS 服务器会返回响应消息
根据域名查询 IP 地址时,浏览器会使用 Socket 库中的解析器

解析器的内部原理

应用程序调用解析器时,解析器内部是怎样工作的

网络应用程序 \rightarrow 调用解析器 \rightarrow 控制流程转移

解析器开始运行 \rightarrow 当控制流程转移到解析器后,解析器 \overset{generate}{\rightarrow}发送给 DNS 服务器的查询消息器 \overset{send}{\rightarrow} DNS 服务器
\overset{entrust}{\rightarrow} 操作系统内部协议栈 \rightarrow  DNS服务器 ④⑤ \rightarrow IP 地址会被写入响应消息并返回给客户端( \rightarrow 返回
解析器的工作就完成了,控制流程重新回到应用程序(浏览器)

 

补充:DNS 服务器发送消息时我们当然也需要知道 DNS 务器的 IP 地址只不过这个 IP 地址是作为 TCP/IP 的一个设置项目事先设 置好的不需要再去查询

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

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

相关文章

(嵌入式)TMS5700432BPZQQ1R、SPC58EC80E5QMC1X微控制器IC中文数据

TMS5700432BPZQQ1R 32位RISC闪存微控制器是设计用于安全系统的高性能汽车级微控制器。其采用的安全架构包括锁步中的双CPU、CPU和内存内置自检 (BIST) 逻辑、闪存和数据SRAM上的ECC、外设存储器上的奇偶校验以及外设I/O上的回路功能。TMS570LS0432/0332器件集成了ARM Cortex-R4…

孤立森林详解

基本概念 孤立森林(Isolation Forest)是一种基于异常检测的机器学习算法,用于识别数据集中的异常点。孤立森林算法在异常检测、网络入侵检测、金融欺诈检测等领域有广泛应用,并且在处理大规模数据和高维数据时表现出色。孤立森林…

了解不一样的Sui NFT标准

Sui的设计赋予非同质化Token(NFT)在灵活性、组合性和可交易性方面独特的属性,使NFT不仅仅代表指向图像的数字记录,还可以成为图像本身。这些NFT可以被修改或与其他NFT合并,以创造出可扩展的艺术作品。同时,…

分布式事务解决方案Seata谁建议你用的?

一、名词解释: TC (Transaction Coordinator) - 事务协调者 维护全局/分支事务的状态,驱动全局事务的提交与回滚 TM (Transaction Manager) - 事务管理器 定义全局事务的范围:开启、提交、回滚全局事务 RM (Resource Manager) - 资源管理…

云原生之深入解析如何使用Prometheus扩展Kubernetes调度器

一、kubernetes 调度配置 ① Scheduler Configuration kube-scheduler 提供了配置文件的资源,作为给 kube-scheduler 的配置文件,启动时通过 --config 来指定文件。目前各个 kubernetes 版本中使用的 KubeSchedulerConfiguration 为: 1.21 …

面试专题:spring

涉及到spring的问题都离不开IOC和AOP.AOP实现原理、动态代理和静态代理、Spring IOC的初始化过程、IOC原理、自己怎么实现一个IOC容器? 这些东西都是经常会被问到的。 IOC是什么: Ioc即控制反转,把原来的代码里需要实现的对象创建&#xff…

使用conda安装配置python环境

使用conda安装配置python环境 下载 我这里下载的是2-4.7.12.1,具体可以参考如下地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-4.7.12.1-Linux-x86_64.s…

d3dcompiler_47.dll缺失怎么修复?那个方法修复更简单

再运行游戏或者ps等软件,计算机系统提示找不到d3dcompiler_47.dll是怎么回事?相信困扰着不少小伙伴,其实d3dcompiler_47.dll是Microsoft 的 DirectX 11核心组件之一,它主要用于编译和运行 Direct3D 11应用程序和游戏。如果文件丢失…

编译安装LAMP

一、Apache网站服务: 1. Apache的起源(多系统兼容): Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性…

美国国家量子计划咨询委员会发布更新国家量子计划建议

​ (图片来源:网络) 耗资12亿美元的美国国家量子计划(NQI)于2018年12月颁布,该计划为期10年,现在将开展审查前五年的活动,并对今后五年的推进计划提出建议。为此,美国国…

[经验]PMP快速通过指南

我的备考经验: 1一阶段:铺底,花费时间1.5周左右 主要是熟悉考试框架和内容,通过看网盘资料里的章节重点解析视频课后习题。 先看框架你就很清楚的了解下来,PMP考试把项目管理的过程拆解成了5大过程组(启…

压力测试-JMeter安装、入门、结果分析

目录 1.写在前面 2.常用压测工具 3.压测机环境准备:JMeter部署 3.1 JMeter下载安装&启动&配置 3.2 入门案例 3.2.3、压测结果解释 3.2.4、线程属性参数原理 1.写在前面 等到服务上线后,在业务压力的冲击下,会发现程序运行非常…

CATIA和SolidWorks孰强孰弱?对比一下就知

寻找合适的 CAD 程序可能会很棘手,因为它是一种您将投资并使用的工具,您需要确保做出正确的决定。这篇文章将用于帮助区分 CATIA 和SOLIDWORKS之间的差异,以帮助您确定两者中哪一个最适合您的业务。 谁使用 CATIA? CATIA 于 198…

Selenium教程__环境安装(1)

Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。 Selenium基本上支持主流的浏览器,包括IE,Mozilla Firefox,Safari,Google Chrome,Opera等。 …

请求与响应

设置映射路径 在不同的bean中可能会出现相同名字的路径,这样的情况会产生冲突,为了解决这个冲突我们可以设置模块名作为请求路径前缀 Controller RequestMapping("/book") public class BookController {//设置当前操作的访问路径RequestMa…

Rust语言从入门到入坑——(4)Rust语法(下)

文章目录 0 引入1、结构体1. 1 结构体1. 2 结构体方法1. 3 元组结构体 2、枚举类2.1 match2.2 Option 枚举类 3、集合3.1 向量(Vector)3.2 字符串(String)3.1 映射表(Map) 4、总结 0 引入 在这里我们需要介…

DOM4J解析web.xml文件,实例化Servlet

1、DOM4J解析web.xml文件实例化Servlet 原理分析:我们解析用户在地址栏中输入的地址信息如add.do,用这个地址去web.xml文件中通过DOM4J技术,解析判断add.do对应的是哪个url-pattern,找到后获取对应的servlet-name。在用这个servlet-name去找…

servlet规范过滤器

我们可以把servlet程序看作是一个最终要执行的目标。我们可以使用过滤器filter来添加过滤代码,这个过滤代码可以添加到servlet执行之前,也可以添加到servlet执行之后。Filter可以做到在servlet这个目标程序执行之前过滤,也可以在目标程序执行…

【深度学习】BERT变种—百度ERNIE 3.0

预训练的模型在各种自然语言处理(NLP)任务中取得了最先进的成果。扩大预训练语言模型的规模可以提高其泛化能力。然而,现有的大规模预训练模型,主要依赖纯文本学习,缺乏大规模知识指导学习,模型能力存在局限…