美文网首页
前端优化

前端优化

作者: 泪花烟熏妆 | 来源:发表于2019-12-05 10:04 被阅读0次

    一.减少http请求

    1.图片

    (1)图片可通过图片合并成雪碧图减少http请求

    (2)图片可转换成内联图片如base64图片编码,注意每个浏览器对内联图片的大小限制

    (3)iconfont:可利用阿里的矢量图对纯色图标进行优化,通过设置大小和颜色可通用,也可减少请求

    2.css和js合并 (不推荐使用内联样式和脚本,推荐一个页面大约一个脚本和样式)

    注意:对于模块化文件怎么进行合并?

    二.内容分发(CDN)

    1.通过将静态资源发布在不同地理位置的服务器,缩短响应时间。CDN的 缺点可能受到其他网站的影响,CDN不能控制组件服务器带来的麻烦,例如修改http响应只能通过CDN代理服务器进行修改。

    三.缓存

    (1)expires:设置http响应头的expires过期时间,如2019-09-09 xx-xx-xx是一个特定时间这就需要保持服务端和客户端时间同步

    (2)cache-control:max-age 设置相对时间如10000ms,这就不要求时间同步,这是http1.1的属性小部分服务器还不支持

    注意:更新了 内容 如何请求新文件?

    (1)通过改变请求地址

    四.压缩组件(缩小资源)

    (1)http请求头设置accept-encoding:gzip(最典型的压缩格式),deflate;响应头设置content-encoding:gzip;设置资源以gzip的形式压缩。压缩会增大服务器cpu的 处理时间,浏览器要对压缩资源进行解压要检测收益是否大于开销。图片和pdf就不需要在进行压缩,它本身都已经被压缩了。

    五.样式表放在头部(逐步呈现)

    六.脚本放在页面底部

    (1)脚本放置在页面底部可以阻止页面逐步呈现,减少页面阻塞(脚本下载的时候会按顺序下载,阻塞页面呈现,阻塞页面dom渲染)

    七.避免css表达式(移动鼠标或滚动都有可能会造成表达式求值影响性能)

    八.使用外部css和js

    (1)内联的css和js在某些情况下加载速度比外联快,但是外联可以缓存,组件可以复用

    九.减少DNS查找?

    10.避免重定向

    (1)重定向html会导致整个html文档延迟返回,造成组件下载也延迟

    11.移除重复脚本

    12.Etag标签(用还是不用?)

    13.ajax可缓存

    14.精简js

    相关文章

      网友评论

          本文标题:前端优化

          本文链接:https://www.haomeiwen.com/subject/vwwbwctx.html