一.浏览器工作原理拆解分析 本文将深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1
首先嘛,你得在浏览器里输入网址: 2
浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址
DNS查找过程如下: 1
浏览器缓存 – 浏览器会缓存DNS记录一段时间
有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)
系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)
这样便可获得系统缓存中的记录
路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存
ISP DNS 缓存 – 接下来要 check的就是ISP缓存DNS的服务器
在这一般都能找到相应的缓存记录
递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从
com顶级域名服务器到Facebook的域名服务器
一般 DNS服务器的缓存中会 有
com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了
DNS递归查找如下图所示: DNS有一点令人担忧,这就是像wikipedia
org 或者 facebook
com这样的整个域名看上去只是对应一个单独的IP地址
还好,有几种方法可以消除这个瓶颈: 1
循环 DNS 是DNS查找时返回多个IP时的解决方案
举例来说,Facebook
com实际上就对应了四个IP地址
负载平衡器 是以一个特定 IP地址进行侦听并将网络请求转发到集群服务器上的硬件设备
一些大型的站点一般都会使用这种昂贵的高性能负载平衡器
地理 DNS 根据用户所处的地理位置,通过把域名映射到多个不同的IP地址提高可扩展性
这样不同 的服务器不