一般网站优化都是优化后台, 如接口的响应时间, SQL 优化, 后台代码性能优化, 服务器优化等. 高并发情况下, 对前端 web 优化也是非常重要的.
下面说说几种常见的优化措施.
一般需要将 CSS 放页面最上面, 即 HEAD 部分, 而将 JS 代码放页面底部. 因为页面需要加载为 CSS 才进行渲染, 而 JS 如果不是在页面加载之前就要执行就要放到页面最底部, 以免在页面展示之前因 JS 过多加载而影响页面渲染速度.
2, 引用文件位置
有一些插件需要引用到远程的图片, CSS,JS, 图标等, 如果远程的资源连接网速不佳, 如国外的某些资源, 会造成网页阻塞, 同样也会造成页面展示问题, 尽量能把引用远程的资源能本地化.
3, 减少后台请求
每个请求都是耗费资源影响系统性能的, 所以, 能减少后台请求就减少. 如, 尽量的将同一个资源 (图片, JS,CSS 等) 合并成一个文件, 页面只要请求一次即可, 这样就节省了很多 http 连接的开销及往返的时间损耗.
另外一方面, 如果是关于抽奖, 摇一摇, 秒杀等功能, 可以限制发往后台的频率, 如前端操作 10 次才往后端发一次请求, 这样从前端就做到了后台的流量控制, 把流量控制到访问的最外层是最好的, 尽量不要让请求落到底层.
4, 压缩传输
http 压缩可以对纯文本可以压缩至原内容的 40%, 从而节省了 60% 的数据传输, GZIP 是一种常用的压缩编码. 因此, 对文本类型的资源如 CSS,JS,HTML 启用 GZIP 压缩加速 http 传输速度.
5, 减少 cookie 传输
cookie 会包含在每次请求和响应中, 如果 cookie 过多会影响 http 响应速度, 所以高并发情况下尽量控制 cookie 的传输量, nginx 对 cookie 传输默认是做了限制的. 另外, 像 CSS,JS, 图片等静态资源可以启用单独域名, 禁用 cookie 对静态资源的传输, 这样就能大大提高效率.
6, 浏览器缓存
高并发情况下, 可以将一些不怎么变动的东西缓存到浏览器 cache 中, 或者一些活动内容可以提前将内容在客户端缓存起来, 以免活动开始大量请求涌入服务器.
7,CDN
之前的文章有讲过 CDN 的概念, 它就是一个静态内容分发网络, 本质就是静态资源的缓存, 可以将静态资源放到 CDN 上, 这样, 用户就能离自己最近的地方获取到资源, 大大提高了用户访问速度.
8, 反向代理
常用的反向代理 nginx 除了负载均衡功能, 它也可以通过配置缓存功能来加速请求响应速度, 当用户第一次访问的时候静态资源就可以被缓存到反向代理服务器上, 这样其他用户的请求就能直接从反向代理服务器直接获取返回, 这样也就直到了静态资源缓存的作用.
我大概列了这些, 其实还有很多优化手段, 大家有更好的建议的话, 可以在下方留言.
自己是从事了五年的前端工程师, 不少人私下问我, 2019 年前端该怎么学, 方法有没有? 自己整理了一份 2019 最全面前端学习资料, 从最基础的 HTML+CSS+JS 到 HTML5 的项目实战的学习资料都有整理, 送给每一位前端小伙伴, 有想学习 Web 前端的, 或是转行, 或是大学生, 还有工作中想提升自己能力的, 正在学习的小伙伴, 需要可以私聊我哟, 这是我的前端开发 qun,[四八四] [七五七] [七六零] , 对于学习 Web 前端有任何问题 (学习方法, 学习效率, 如何就业) 都可以问我, 最后可以点一波关注哟!
来源: http://www.jianshu.com/p/01624684d3e1