最近再看一本书《高性能网站建设指南》,感觉写的很好也很实用,把经典点的地方总结一下。
下面进入主题!
作为后端开发,更多的是关注后端优化,比如编译器选项、数据库索引、内存管理等。事实上只有10%20%的用户请求响应时间花在服务器获取HTML文档并传递到浏览器中的,80%90%都是都在前端,所以想提高网站性能,这一点要清楚。
一般,HTML文档只占总响应时间的5%,其余95%大部分时间用来等待组件的下载,还有一小部分时间花在解析HTML,脚本,样式表上。
当再次请求这个网址时,网站加载速度明显变快,因为必要的js,css文件被缓存在了浏览器中,所以不需要再次下载。

这是再次加载时的网络请求详情,可以看到红框中显示了from memery cache,从缓存中加载。状态码为302。
首次加载是200,代表服务器请求成功。
那么我们可以得出一个结论,最终用户花费了80%以上的时间在加载(或者说下载)组件上了。
在没有请求发生的时候浏览器在做什么?没有请求发生就是network栏中没有横幅的时间。
现在我们已经知道了再次加载时的浏览器使用了缓存,这段没有请求的时间里,浏览器正在解析HTML,CSS,JS代码,并从缓存中获取组件。
书中提到了一点,请求脚本时不会发生并行请求,因为浏览器在下载脚本时会阻塞额外的HTTP请求,第6章介绍了原因,以及如何用这一点来改善页面的加载时间。
网友评论