大抵流程

  1. URL 解析
  2. DNS 查问
  3. TCP 连贯
  4. 解决申请
  5. 承受响应
  6. 渲染页面

集体了解分为以下几步:

● 浏览器每次拜访网站,会在浏览器本地生成缓存,当用户第二次去拜访时,会检测到相应缓存,间接进行拜访。

● 如果浏览器没有查看到缓存,那么就会去拜访零碎缓存(也就是咱们说的Hosts)。

● 如果本地也没有缓存,那么浏览器就会去检测路由器缓存,进而再查看ISP(运营商)缓存。

● 如果以上缓存都没有找到需要资源,浏览器则会在根域名服务器查找对应的IP地址,并进行拜访。

一、大抵流程图


三次握手

建设DCP连贯,获取到对应的IP后,客户端向HTTP服务器发动TCP连贯

第一次握手:

建设连贯时,客户端发送SYB + 1 (建设联机)包到服务器,进入期待状态(1示意胜利,0示意失败)

第二次握手:

服务器收到SYN+1包后,确认信息,也返回一个ACK+1(确认联机)包,同时将这两个包返回给客户端,并进入期待状态

第三次握手:

客户端收到返回的两个包后,确认信息后,再给服务器发送一个ACK+1包,服务器收到后,进入TCP链接胜利状态

● 发送HTTP申请与服务器建设连贯后,就能够向服务器发动申请

● 服务器解决申请,服务器收到申请后,开始解析申请信息,通过相应的资源文件,解决用户申请和参数,并调用数据库信息,将后果返回给客户端。

● 返回响应数据在HTTP有申请就有响应,返回状态码。

状态码

101 持续申请,切换协定

200胜利

201已创立新资源

202服务器已接管申请,但尚未解决

301重定向永恒挪动,申请的网页已挪动到新的地位

302长期挪动

303查看其它地位

304未修改,

404客户端谬误,服务器无法解释申请的格局,申请的网页不存在

503常见的服务器端谬误,服务器不可用

四次挥手

敞开TCP连贯,为了防止客户端与服务器的资源占用和损耗,单方没有申请或响应传递时,任意一方都能够发动敞开申请。

第1次挥手

原本是建设状态,客户端向服务器发动终止的申请后,进入期待状态

第2次挥手

服务器收到发送来的申请,先回复一个确认的信息,

第3次挥手

将所有的数据传送完之后,向客户端发一个终止的申请,进入敞开期待的状态

第4次挥手

客户端收到客户端的终止申请后,终止期待,并向服务器发送了一个确认敞开的信息。此时断开连接

● 浏览器解析HTML并渲染文档树建设,浏览器解析HTML并开始渲染DOM,应用浏览器渲染机制,页面渲染实现

● 浏览器渲染机制,浏览器将HTML解析成树形的数据结构,简称DOM树,将css解析成树形的数据结构,简称cssDom树两种书进行合并后生成render Tree(渲染树)

● layout是通过计算render Tree的每个节点的具体位置,通过显卡将layout的节点内容别离出现到屏幕上这个过程可能会引起重绘和回流

● 重绘和回流回流必定会引起重绘,重绘不肯定会引起回流,回流对我的构造发生变化,引起了重绘,扭转款式,色彩不会对我的构造发生变化

优化:

缩小对渲染树(render tree)的操作,合并屡次多DOM和款式的批改,缩小对一些style信息的申请,利用好浏览器的优化策略。