在 TCP/IP 协议中使用 IP 地址来标识计算机,数字形式的地址只适用于计算机,但对于人类来说非常难记,使用起来其实并不方便。
于是“域名系统”(Domain Name System)出现了,用有意义的名字来作为 IP 地址的等价替代。“www.baidu.com”肯定比一串ip地址要容易记忆,而且更容易输入。
DNS 和 IP 地址一起标记了互联网上的主机位置。
在 DNS 中,“域名”(Domain Name)又称为“主机名”(Host),为了使域名更便于记忆,所以域名的设计是有一定结构规律的。
域名用“.”分隔成多个单词,级别从左到右逐级升高,最右边的被称为“顶级域名”。例如表示商业公司的“com”、表示教育机构的“edu”,表示国家的“cn”“uk”等。
但想要使用 TCP/IP 协议来通信仍然要使用 IP 地址,所以需要把域名做一个转换,“映射”到它的真实 IP,这就是所谓的“域名解析”。
怎么理解域名解析?
可以用日常生活中的打电话来帮助理解。比如打电话给小明,小明就是域名,你需要在通讯录找到小明,然后再找到小明对应的联系方式也就是电话。小明的电话就对应IP地址,查找通讯录的过程就可以理解为域名解析。
域名解析的实际操作要更加复杂,因为互联网上的电脑实在是太多了。目前全世界有 13 组根 DNS 服务器,下面再有许多的顶级 DNS、权威 DNS 和更小的本地 DNS,逐层递归地实现域名查询。
HTTP 协议中并没有明确要求必须使用 DNS,因为正常来说有IP地址就够了。但实际上为了方便访问互联网上的 Web 服务器,通常都会使用 DNS 来定位或标记主机名,间接地把 DNS 与 HTTP 绑在了一起。
此文章为2月Day4学习笔记,内容来源于极客时间《透视HTTP协议》,强烈推荐该课程!