前言

开始之前我先抛出一道最近很热门的前端面试题

在浏览器的地址栏中输入了一个url地址以后发生什么?

这是一道很基础,但是每个前端coder都必须要有所了解的问题,同时本文后续相关的内容也会围绕着这个题目延伸扩展下去。

答案:

通过DNS将URL地址解析成IP地址,然后通过IP地址进行TCP网络连接,随后向服务器抛出HTTP请求,服务端处理完请求后把数据放在HTTP响应里返回客户端,浏览器获取到响应后解析DOM请求相关的资源然后渲染,最后呈现给用户一个网页。

大致上可以分化成以下几个阶段

  • DNS解析
  • TCP链接
  • HTTP请求请求
  • 服务端响应,HTTP响应返回
  • 客服端拿到HTTP响应并且解析响应内容,呈现结果

在这五个阶段都有很多值得去优化的地方,所以后续的内容我会从网络层面、渲染层面以及性能层面三个大方向对前端性能优化进行分析