通过域名能直接访问到一台机器(服务器)吗?
答案是不可以,我们必须要知道IP地址。
而域名就是和IP地址形成映射关系。
计算机一开始是不知道域名所对应的IP的,那要怎么才能知道呢,这就是DNS解析所要做的事情。
DNS解析过程(以向浏览器输入域名后回车为例):
- 查询浏览器缓存
- 查询系统缓存
本机host文件(C:windows/system32/drivers/etc/hosts)
一般会有
127.0.0.1 localhost (默认指本机)
0.0.0.0 (指不知道IP地址,但不知道的情况下默认指向本机,所以也能访问到本机)
- 查询家里的路由器,因为路由器中存储域名和IP的映射表,如果表中有这个域名和IP的映射关系,就返回这个IP,计算机访问这个IP。
- 逐级查询上层路由器(小区->... ->城市),一般城市中会有DNS服务器,DNS服务器若查询到返回IP。
- 再继续向上访问,直到找到全球的global NDS服务器(互联网建立的时候,全世界有13台总的DNS服务器),在总的DNS服务器一定可以找到,找到之后逐级向下返回,每一级都会对其缓存(本机host不会缓存),下次访问就可以从缓存的找到。