域名
关于域名,百度百科是这样介绍的:
百度百科(https://baike.baidu.com/item/域名/86062):
域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
个人理解
其实百度百科已经介绍的很清楚了,域名其实就是为了方便人们记忆而衍生出来的一种记忆IP地址的一种方式,在网络发展的历史上,最开始是直接使用IP地址来访问远程主机的,但是后来因为IP地址记忆的不方便,而且无法直接体现地址对应的实际意义,就衍生出了域名。换句话说,就是每次访问网站的时候,如果都是根据IP进行访问的话,就太不方便了,比如我要访问百度就只能通过:http://14.215.177.39/ 这样的方式进行访问,对比www.baidu.com这样的方式,效果已经很明显了。
当然,域名只是一个别名,名称而已,我们并不能通过这一个名称直接访问到正确的地址,而是必须要将域名映射为实际的IP,才能访问成功,这种映射域名为IP地址的事情,由网域名称系统(DNS,Domain Name System)来完成。
什么是顶级域名、二级域名、多级域名?
顶级域名
要理解二级域名、多级域名,首先要知道什么是顶级域名?
顶级域名,又称一级域名,相信在日常生活当中大家都有看到过,比如 ".com"、".org"、".net"、".cn"等,举个例子,顶级域名就是www.baidu.com中的.com,www.boc.cn中的.cn
二级域名、多级域名
二级域名,也就是顶级域名的下一级,比如baidu.com。这是我们自己能够购买到的最高等级的域名。
再往下,就是三级域名,比如www.baidu.com 以此类推,四级、五级等。说到底,二级域名之后的域名我们是可以控制的,就比如我们购买了一个libo.com的二级域名之后,就可以将域名设置为sss.libo.com、ooo.ggg.libo.com等,不一定非得是www.xxx.xxx。这些无数级别的域名被统称为多级域名。
DNS
我们先来看一下百度百科:域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
再来看一下DNS为什么会出现,以及它的演化过程:在网络发展的早期,因特网上仅有数百台主机,那时候的域名与IP地址对应只需简单地记录在一个hosts文件中。
例图:
这个文件由NIC(网络信息中心)负责维护。任何想添加到因特网上的主机的管理员都应将其名字和地址E-mail给NIC,这个对应就会被手工加到hosts文件中。每个主机管理员去NIC下载最新的hosts文件放到自己的主机上,就完成了域名列表的更新。
但后来随着主机的逐渐增多,NIC无法保证所有人都能统一拿到最新的hosts文件,所以后续又出现了文件服务器系统,以供下载使用,但因为互联网的发展速度太快,这种方式也不是长久之计,这个时候就出现了域名系统(英文:Domain Name System,缩写:DNS)。
总结:DNS其实就是一个可以将IP和域名互相映射起来的域名系统。它可以根据主机名称(域名)查找对应的IP地址或者根据IP地址查找对应的主机名称(域名)。这两种方式被称之为正向解析和反向解析
本地HOSTS与DNS的关系
首先,hosts通常是存放在本地(C:\Windows\System32\drivers\etc)当中的一个没有扩展名的文件,它可以被记事本或者其他相同类型的软件打开,它的作用就是将一些域名与IP给映射起来,所以当用户在访问一个域名时,比如www.libo2000.com,系统会首先从hosts文件中去寻找有没有存在对应的IP地址,如果找到了,系统会马上访问域名,如果没有找到,系统会从DNS缓存中去读取域名所对应的IP地址,如果还没有找到,才会将域名提交给DNS域名解析服务器进行IP地址的解析,从而访问成功。
最后
文章有什么地方有问题,或者表达的不够清楚的,希望大佬们能给出一些建议!非常感谢!
[珍惜生命,开开心心的过好当下的每一天]