你有没有想过,当一个url传过来网络对它进行了哪些操作~DNS又是怎样对域名进行解析的~或者我们为什么要用到域名,为什么不直接使用ip地址~
对于我们而言,面对长串的ip地址,我们更喜欢记忆较短的域名,但是对于路由器来说,更喜欢定长的、有层次结构的ip,所以为了满足不同的喜好,就有了DNS解析服务。
首先,当web传来一条域名时,DNS会首先在自己的高速缓存中去查看是否有当前域名对应的ip地址
如果没有,那DNS就会去网络中的某台DNS服务器查询,DNS服务器中存储了域名对应的ip的数据库表,当DNS服务器收到DNS查询请求后,会从数据库中查询数据,然后将查询到的对应的ip地址返回
这下,web就可以通过域名进行页面访问了~
同时,DNS的解析又存在两种方法,一种是递归查询,一种是迭代查询
这里简单说一下递归查询:
- 首先DNS拿到域名后,会向本地服务器中进行递归查询;
- 本地服务器接到委托后,也会向某个根域名服务发起递归查询请求;
- 根域名服务器接收到递归查询请求后,又会向顶级域名服务发起递归查询请求;
- 顶级域名服务接收到递归查询请求后,会向权限域名服务发起递归请求。
查询到结果后,会向之前受委托的服务器发出结果,然后DNS服务器又会把结果返回给主机。