独立开发者系列(26)——域名与解析

 域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
由于IP地址不方便记忆并且不能显示地址组织的名称和性质,人们设计出了域名,并通过域名系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串

  先简单梳理下域名访问的原理——你电脑,检查本地的hosts文件,看下有没有对应的域名在上面,如果有,直接向对应的服务器IP发送域名,就可以拿到响应结果。这也是最快最高效率访问服务器。所以当网站访问慢,确定是你DNS的问题的时候,使用hosts指向是可以加快访问速度的。如果装有phpstudy 可以直接修改host。

如果本地host文件没找到,则会启用DNS服务器来解析,我们浏览器输入的网址信息,(解释下DNS服务器 互联网上用于将域名解析为IP地址的服务器的IP地址。当你在浏览器中输入一个网址时,DNS服务器会将这个域名转换为相应的IP地址,以便你的计算机能够连接到托管该网站的服务器。)默认情况下,服务器设置的DNS服务器如下:大陆境内的,之前是8.8.8.8

有些网址访问很慢,与对应的DNS返回关系很大。

域名的绑定配置:

登录域名商,解析对应的开头指向IP,会提示完成DNS解析指向。

A解析记录,常用的域名指向IP记录

Cname解析 解析到一个URL,访问对应域名,不是指向一个IP而是跳转到解析的域名里面,特别适合一些大型的博客独立网址是二级域名,我们再申请一个域名跳转到该二级域名里面,变相的实现了我们网址的访问。

MX解析  邮件服务器的解析,用的比较少

TXT解析,用于存储任意文本信息。TXT记录通常用于存储与域名相关的文本信息,如验证域名所有权、SPF(Sender Policy Framework,发件人策略框架)记录、DKIM(DomainKeys Identified Mail,域名键标识邮件)密钥等

其他类型的解析方式,我们用的很少。除非特别大型,一般不会涉及到。

整个解析过程如下:

用户输入域名:用户在浏览器或应用中输入要访问的域名,比如 www.example.com。

本地域名解析器查询:首先,操作系统会检查本地的 DNS 缓存(本地解析器缓存)。如果之前已经查询过相同的域名,可能会直接返回缓存中的结果,否则会继续向下执行。

向递归DNS服务器发出请求:如果本地缓存没有对应的记录,本地域名解析器会向配置的递归 DNS 服务器(通常由 ISP 或网络提供商提供)发出请求。这个请求是一个迭代查询,本地解析器不会直接去查询目标域名的权威服务器,而是请求递归服务器代为查询。

递归DNS服务器查询:递归 DNS 服务器会首先查询它自己的缓存,如果有目标域名的记录,则直接返回给本地解析器。如果没有,递归服务器会执行以下操作:

查询根域名服务器:如果递归服务器之前没有缓存过该域名的信息,它会向根域名服务器发送请求,询问它知道哪些顶级域名服务器(比如 .com、.net 等)的 IP 地址。

查询顶级域名服务器:根域名服务器返回顶级域名服务器的 IP 地址给递归服务器,然后递归服务器向顶级域名服务器发送请求,询问它知道哪些次级域名服务器(例如 example.com 的权威服务器)的 IP 地址。

查询权威域名服务器:顶级域名服务器返回次级域名服务器的 IP 地址给递归服务器,然后递归服务器再向次级域名服务器发送请求,获取域名的具体解析记录,比如 www.example.com 的 IP 地址。

获取域名解析记录:权威域名服务器收到请求后,会查询并返回该域名的解析记录给递归 DNS 服务器。这些记录可能包括 A 记录(IPv4 地址)、AAAA 记录(IPv6 地址)、CNAME 记录(指向另一个域名)、MX 记录(邮件服务器)、TXT 记录(文本记录)等。

递归DNS服务器返回结果:递归 DNS 服务器收到来自权威服务器的响应后,会将域名解析的结果返回给本地域名解析器。

本地域名解析器返回结果:最后,本地域名解析器将收到的解析结果返回给用户的应用程序(比如浏览器),并将解析结果缓存以便下次查询时可以直接返回,加快响应速度。


  本地电脑——DNS服务器——DNS服务器解析——IP
  域名的各种解析操作(A  cname )

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leaflet集成wheelnav在WebGIS中的应用

目录 前言 一、两种错误的实现方式 1、组件不展示 2、意外中的空白 二、不同样式的集成 1、在leaflet中集成wheelnav 2、给marker绑定默认组件 2、面对象绑定组件 3、如何自定义样式 三、总结 前言 在之前的博客中,我们曾经介绍了使用wheelnav.js构建酷炫…

Flink底层原理解析:案例解析(第37天)

系列文章目录 一、flink架构 二、Flink底层原理解析 三、Flink应用场景解析 四、fink入门案例解析 文章目录 系列文章目录前言一、flink架构1. 作业管理器(JobManager)2. 资源管理器(ResourceManager)3. 任务管理器(Ta…

【八股系列】CSS盒模型:掌握网页布局的核心

🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【Vue中的<keep-alive>组件:深入解析与实践指南】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞&…

夏日狂欢水上漂流的爆笑奇遇记

【夏日狂欢,水上漂流的爆笑奇遇记 —— 月亮姐姐的“睫毛漂流记”】在这个炎炎夏日,当烈日炙烤着大地,每一寸空气弥漫着对清凉的渴望时,一场别开生面的“暑期嘉年华”正悄然掀起一场水上狂欢的浪潮。而在这场盛宴中,月…

FPGA实训报告DAY 1(Verilog HDL)

实习日志与总结 日期:2024 年 7 月 10 日 星期三 姓名:XXX 一、实习日志 上午 9:00 - 9:30 按时到达工位,参加部门早会,了解了今天的实习任务和目标,即初步学习 FPGA 简介和 Verilog 基础语法知识。 9:30 - 10:30…

springboot 集成minio,启动报错

springboot 集成 minio 8.5.10 报错 *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: io.minio.S3Base.…

在mybatis-plus中关于@insert注解自定义批处理sql导致其雪花算法失效而无法自动生成id的解决方法

受到这位作者的启发 > 原文在点这里 为了自己实现批量插入&#xff0c;我在mapper层使用insert注解写了一段自定义sql //自定义的批量插入方法 Insert("<script>" "insert into rpt_material_hour(id,sample_time,rounding_time,cur_month,machine_no…

启智畅想火车类集装箱号码识别技术,软硬件解决方案

集装箱号码识别需求&#xff1a; 实时检测车皮号、火车底盘号码、集装箱号码&#xff0c;根据火车类型分为以下三种情况&#xff1a; 1、纯车皮&#xff0c;只检测车皮号&#xff1b; 2、火车拉货箱&#xff08;半车皮&#xff09;&#xff0c;检测车皮号集装箱号码&#xff1b…

基于springboot和mybatis的RealWorld后端项目实战一之hello-springboot

新建Maven项目 注意archetype选择quickstart pom.xml 修改App.java App.java同级目录新增controller包 HelloController.java package org.example.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotatio…

拒绝废话:computed、watch和methods的区分和使用场景

computed、watch和methods是用于处理数据和响应数据变化的不同方式&#xff0c;三者之间有什么不同呢&#xff0c;贝格前端工场作为10年前端老司机&#xff0c;用浅显的语言给大家分享一下。 computed&#xff1a; computed属性是用来定义一个基于依赖的响应式属性。它会根据…

QT--控件篇四

一、对话框 在软件开发中&#xff0c;对话框&#xff08;Dialog&#xff09;是一种常见的用户界面元素&#xff0c;用于与用户进行交互和获取信息。它通常以模态或非模态的形式出现&#xff0c;模态对话框会阻止用户与应用程序的其他部分交互&#xff0c;直到对话框关闭为止&a…

Linux热键,shell含义及权限介绍

君子忧道不忧贫。 —— 孔丘 Linux操作系统的权限 1、几个常用的热键介绍1、1、[Tab]键1、2、[ctrl]-c1、3、[ctrl]-d1、4、[ctrl]-r 2、shell命令以及运行原理3、权限3、1、什么是权限3、2、权限的本质3、3、Linux中的用户3、4、Linux中文件的权限3、4、1、快速掌握修改权限的…

排序——归并排序及排序章节总结

前面的文章中 我们详细介绍了排序的概念&#xff0c;插入排序&#xff0c;交换排序与选择排序&#xff0c;大家可以通过下面的链接再去学习&#xff1a; ​​​​​​排序的概念及插入排序 交换排序 选择排序 这篇文章就详细介绍一下另一种排序算法&#xff1a;归并排序以及…

ubuntu 虚拟机扩容

在使用vmware创建的ubuntu虚拟机进行linux开发时&#xff0c;安装了docker容器&#xff0c;编译会占用很大的磁盘空间&#xff0c;不想创建新的更大空间的虚拟机linux系统&#xff0c;可以通过gparted图形化工具进行扩容&#xff0c;以下是操作方法 虚拟机设置&#xff0c;扩展…

k8s核心操作_存储抽象_K8S中使用Secret功能来存储密码_使用免密拉取镜像_k8s核心实战总结---分布式云原生部署架构搭建033

注意在看的时候一定要把 dxxxx中的xxxx换成--o----c----k----e----r 然后我们再来看一个k8s中的secret的功能,这个功能 用来存储密码的,configMap是用来存配置的 比如我们有个pod,他的镜像,如果是需要密码的,那么 我们现在是从公共仓库拉取的,如果我们从私有仓库拉取,有密码…

rust + python+ libtorch

1: 环境&#xff0c;ubuntu 1.1 rust : rust-1.79.0 &#xff08;在官方下载linux版本后&#xff0c;解压文件夹&#xff0c;内部有个install的sh文件&#xff0c;可安装&#xff09; 安装成功测试&#xff1a;cargo --version 1.2 python3.10 (直接使用apt install pytho…

YOLOv8改进 | 检测头 | 融合渐进特征金字塔的检测头【AFPN4】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

【HZHY-AI300G智能盒试用连载体验】RTC示例程序测试

本文首发于&#xff1a;【   】【HZHY-AI300G智能盒试用连载体验】 智能工业互联网网关 - 北京合众恒跃科技有限公司 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) HZHY-AI300G智能盒默认的系统是Ubuntu&#xff0c;这样非常方便使用&#xff0c;接上USB键盘和…

卷积与图像卷积操作

什么是卷积 教材上的卷积公式如下图&#xff1a; 结合经典的水池问题来说明卷积公式&#xff1a; f(t)代表进水量&#xff0c;表示t时刻进入的水量g(x-t)代表排水量&#xff0c;表示t时刻进入的水量&#xff0c;在x时候还剩多少&#xff08;%&#xff09; 上面说的只是特殊情况…

连锁零售门店分析思路-人货场 数据分析

连锁零售门店分析思路 以下是一个连锁零售门店的分析思路&#xff1a; 一、市场与竞争分析 二、门店运营分析&#xff08;销售分析&#xff09; 三、销售与财务分析 四、客户分析 五、数字化与营销分析 最近帮一个大学生培训&#xff0c;就门店销售分析 &#xff0c;说到门店…