首页 存档 技术 查看内容

实战 | 网络性能优化的8个最佳技巧

2018-3-30 13:00 |来自: 互联网 308 0

摘要: 作者:朱成林 编辑:武晓燕 CDN(Content Delivery Network)即内容分发网络,将源站内容分发至全国所有的节点,缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、 ...


作者:朱成林

编辑:武晓燕


CDN(Content Delivery Network)即内容分发网络,将源站内容分发至全国所有的节点,缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。


首屏一秒渲染原则


对于APP里面的H5页面首屏渲染时间不能超过1秒,首屏不要加载太多资源。



  • 服务器响应必须小于200ms

  • 尽量少的重定向

  • 尽量少的第一次渲染请求数

  • 避免过多阻塞的JS、CSS

  • 给浏览器留200ms的渲染时间


优化我们的JS执行效率和渲染时间


加载优化


减少HTTP请求

尽量减少页面对后台的请求数,能合并的合并。

  • 合并CSS、JavaScript等代码

  • 合并小图片,使用雪碧图


使用响应性网页设计,避免重定向

响应性网页设计是指通过同一网址提供相同HTML代码的网站设计方法,使用户不用考虑所使用的是PC、Pad、APP设备,自动适应所使用的设备屏幕。


使用浏览器缓存

使用浏览器缓存减少对服务器的请求,所有可缓存静态资源(JS、CSS、图像、媒体文件、PDF文件)都应该在服务器端启用浏览器缓存(缓存一切可以缓存的资源)。注: HTML不是静态资源。


  • 设置Expires报头为将来某个时间,比如设置为1周。则浏览器在这一周内访问将使用已经缓存的资源,不会发出GET请求去网络查看资源是否发生改变。除非用户手动清除了缓存。



对于设置了缓存的网络请求我大致画了一个流程图如下:


  • 上面提到的使用外联式引用CSS、JavaScript可以启动浏览器的缓存功能


启用压缩、合并功能

通过对 HTML、CSS、JavaScript 等资源进行压缩合并。并在服务器端设置 GZip。


  • 文件资源压缩:将多余的空格、换行符、缩进、注释等不必要的字节去掉从而提高下载、解析、执行速度,这一类的在线工具比较多,这里列举几个如下:

    在线JS/CSS/HTML压缩

    Minify your JavaScript

    YUI Compressor


  • 合并文件:每一个CSS、JS文件都是一个HTTP请求,适当将相关的多份文件合并成一个文件以减少HTTP的请求数。

    minify


  • 启动网络服务器压缩功能:Apache、Nginx、IIS都支持配置压缩功能。


由于我们后台项目采用了.NET架构,所以我们在此针对IIS进行压缩功能的配置。IIS默认是启动压缩功能的,IIS支持“静态内容压缩”和“动态内容压缩”两种,如下图,



首屏加载、按需加载、预加载

首屏应该尽量控制在1秒之内;对于相当屏幕不用的资源应该放到用户需要的时候再加载(延迟加载、上拉滚屏加载);可感知和不可感知的加载(Loading加载进度条、提前加载下一页)。


渲染优化


HTML中添加Viewport来加速页面的渲染

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部