域名里的知识点

本文深入探讨了HTTP协议中域名的结构与解析机制,详细解释了域名的层次结构、长度限制及大小写特性,介绍了DNS系统的三层架构及其工作流程,包括根域名服务器、顶级域名服务器和权威域名服务器的作用。此外,还讨论了缓存和hosts文件在加速域名解析中的应用,以及域名在重定向、名字空间、负载均衡和恶意玩法等方面的新应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

《透视HTTP协议》罗剑锋 (奇虎360技术专家)在极客时间开的一门专栏课,笔者记录一下学习笔记,仅供参考。

域名的形式

1、域名是一个有层次的结构,是一串用.分隔的多个单词,最右边的被称为顶级域名,然后是二级域名,层级关系向左依次降低。

2、域名本质上还是个名字空间系统,使用多级域名就可以划分出不同的国家、地区、组织、公司、部门,每个域名都是独一无二的,可以作为一种身份的标识。

比如:极客时间的域名time.geekbang.orgorg就是顶级域名,geekbang是二级域名,time则是主机名。

3、域名的总长度限制在253个字符以内,而每一级域名长度不能超过63个字符。

4、域名是大小写无关的,但是通常都使用小写的形式。

域名的解析

就像 IP 地址必须转换成 MAC 地址才能访问主机一样,域名也必须要转换成 IP 地址,这个过程就是域名解析

DNS 架构图:

DNS 架构

DNS 的核心系统

DNS 的核心系统:是一个三层的树状、分布式服务,基本对应域名的结构如下:

1、根域名服务器(Root DNS Server)

管理顶级域名服务器,返回com、net、cn等顶级域名服务器的 IP 地址。

2、顶级域名服务器(Top-level DNS Server)

管理各自域名下的权威域名服务器,比如 com 顶级域名服务器可以返回 apple.com 域名服务器的 IP 地址。

3、权威域名服务器(Authoritative DNS Server)

管理自己域名下主机的 IP 地址,比如 apple.com 权威域名服务器可以返回 www.apple.com 的 IP 地址。

两种方法减压

1、缓存

1)、许多大公司、网络运行商都会建立自己的 DNS 服务器,作为用户 DNS 查询的代理,代替用户访问核心 DNS 系统。

2)、这些“野生”服务器被称为非权威域名服务器。可以缓存之前的查询结果,如果已经有了记录,就无需再向根服务器发起查询,直接返回对应的 IP 地址。

比较知名的DNS有:

2、hosts文件

操作系统里也会对 DNS 解析结果做缓存,它里面有一个特殊的主机映射文件,通常是一个可编辑的文本:

  • 在 Linux 里是/etc/hosts
  • 在 Windows 里是C:\WINDOWS\system32\drivers\etc\hosts

如果操作系统在缓存里找不到 DNS 记录,就会找这个文件。

DNS解析的过程

浏览器DNS缓存–>操作系统缓存–>Hosts文件–>非权威域名服务器(缓存DNS服务器,比如我们每家每户上网设置的DNS服务器)–>根域名服务器–>顶级域名服务器–>权威域名服务器(域名注册商的DNS服务器)。

DNS解析流程图(需要博客支持mermaid,才能解析):

浏览器DNS缓存
操作系统缓存
Hosts文件
非权威域名服务器
根域名服务器
顶级域名服务器
权威域名服务器

域名的“新玩法”

1、重定向

常用于服务器临时维护,DNS 修改内部的 IP 地址映射关系,保证业务服务正常运行。

2、名字空间

使用开源软件搭建一个内部使用的DNS,作为名字服务器。这样我们开发的各种内部服务就都用域名来标记,发起网络通信时就不必在使用写死的 IP 地址。

3、负载均衡

方式1:因为域名解析可以返回多个 IP 地址,所以一个域名可以对应多台主机,客户端收到多个 IP 地址后,就可以自己使用轮询算法依次向服务器发起请求,实现负载均衡。

方式2:域名解析可以配置内部的策略,返回离客户端最近的主机,或者返回当前服务质量最好的主机,这样在 DNS 端把请求分发到不同的服务器,实现负载均衡。

4、恶意玩法

  • 域名屏蔽:对域名直接不解析,返回错误,让你无法拿到 IP 地址,也就无法访问网站
  • 域名劫持:也叫域名污染,你要访问 A 网站,但 DNS 给了你 B 网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凯小默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值