乐趣区

关于前端:在浏览器输入URL后会发生什么

大抵流程

  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 信息的申请,利用好浏览器的优化策略。

退出移动版