浏览器网络连接全过程

浏览器从输入网址到获得并呈现网页全过程涉及的前端知识比较全面和重要,我们前端工程师应该理解这一过程。这个过程主要分为网路通信和页面渲染两大部分,而整个过程也可大致分为如下步骤:

  1. DNS解析
  2. TCP连接
  3. 客户端发送请求
  4. 服务端根据请求返回响应
  5. 浏览器根据返回的html、css、js和图片渲染页面
个人总结:

网络通信:

  1. DNS解析:输入网址后,浏览器通过域名查找IP地址,这时用到的方法就是DNS解析,其查找过程如下:
    浏览器缓存→系统缓存→路由器缓存→ISP DNS 缓存(递归搜索)
    ISP DNS 缓存递归搜索会从跟域名服务器开始进行递归搜索,从.com顶级域名服务器开始,没有相应信息便逐层搜索,最后直到准确的域名服务器。
  2. TCP连接:找到IP地址后,浏览器便和服务器建立TCP连接(http协议就是基于这个TCP/IP连接进行通讯),这里涉及到TCP连接的三次握手。
  3. 客户端发送请求:当连接建立完成,客户端就会发送HTTP请求,请求中包含一些信息如: Accept、User-Agent、Accept-Encoding、Connection、Host、Cookie等等,需要记住。
  4. 服务器返回响应:服务器接收到客户端HTTP请求后经处理会返回html以及响应,响应中也包含一些需要记住的信息。(这个过程可能涉及重定向,注意响应中的状态码)
  5. 渲染页面:解析HTML页面→构建DOM树→布局DOM树→渲染DOM树

参考文章:

  1. http://www.cnblogs.com/kongxy/p/4615226.html
  2. http://www.cnblogs.com/rollenholt/archive/2012/03/23/2414345.html

你可能感兴趣的:(浏览器网络连接全过程)