首页 > 代码库 > 浏览器工作原理

浏览器工作原理

第一步,在浏览器里输入网址

第二步,浏览器查找域名的IP地址,如图示意,

image

导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:

  1. 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。
  2. 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。
  3. 路由器缓存 – 接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。
  4. ISP DNS 缓存 – 接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。
  5. 递归搜索 – 你的ISP的DNS服务器从根域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。

DNS递归查找如下图所示:

500px-An_example_of_theoretical_DNS_recursion_svg

第三步,浏览器给web服务器发送一个HTTP请求

第四步,facebook服务的永久重定向响应

第五步,浏览器跟踪重定向地址

第六步,服务器“处理”请求

第七步,服务器发回一个HTML响应

第八步,浏览器开始显示HTML

第九步,浏览器发送获取嵌入在HTML中的对象

浏览器发送异步(AJAX)请求

摘自http://developer.51cto.com/art/201007/209634_all.htm