前端优化

  • 减少http请求
    • 小于1kb的图片使用base64编码,直接嵌在html中

    • 使用精灵图csssprite
    • 合并js, 合并css
  • 优化js、css
    • 使用CDN
      • 浏览器对每个域名的并发请求数量有限制,所有使用CDN可以增大并发请求数量
      • 请求CDN不许要携带cookie,节省空间
    • CSS放在header标签里,使其尽早下载,有些浏览器需要下载完所有的css后才渲染页面,如chrome,CSS放在靠下的部分可能会导致渲染时间延迟
    • js放在body的最后,因为外部脚本加载时会阻塞其他脚本的加载,阻塞浏览器的并发请求
  • 使用懒加载
    • 组件懒加载
    • const xxx = ()=>import('xxx.vue');

       

    • 路由懒加载

  • 合理设置http缓存

http缓存自能缓存get请求响应的资源,第一次请求资源时,服务器返回资源,并在response header中传回资源的缓存参数,第二次请求时浏览器判断请求参数,如果是强缓存,则直接返回200,否则就把请求参数加到request header中发送到服务器,看是否命中协商缓存,命中则返回304,否则浏览器返回新资源

栗子  < meta http-equiv = "Cache-Control" content = "max-age=7200" />,也可以在服务端设置

跟强制缓存有关的header属性有 

header属性

可选值

Cache-control

1、no-cache,不使用强制缓存,根据新鲜度使用缓存

2、no-store,不使用缓存,每次都请求下载新资源

3、max-age:xxx秒,缓存时长

4、public/private, 是否只被单个用户使用,默认private

5、must-revalidata,每次访问都需要缓存校验

ExpiresGMT时间

当第一次请求的响应头中没有cache-control和expires,或者cache-control设置为no-cache时,浏览器的第二次请求就会和浏览器协商,判断资源是否发生变化,若变化则返回200,将更新后的资源和缓存信息一起返回,否则返回304,告诉浏览器使用缓存,

跟协商缓存相关的header属性

header属性可选值
ETag/If-Not-Match

校验值

Last-Modified/If-Modified-SinceGMT时间

顺便贴一下本地缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值