zoukankan      html  css  js  c++  java
  • 前端-【学习心得】-移动端性能提高2

    接下来就是第二次访问速度了,第二次访问速度实际上就大多应该用到缓存了,http设计时就已经考虑了缓存,控制Http缓存的方式有三种:

    新鲜度,验证和实效。新鲜度,也叫做ttl生存时间,我记得这个我们学习网络的时候也用到过,这个是最简单的方式,使用报头,缓存代理会被告知在保持状态和重新获取内容之间需要持续多久。

    验证,这是为缓存代理提供无需完整资源就能确定旧缓存是否可用的方法。浏览器可以发出一个包含if-modify-sinse的请求。如果服务器上的文件没有发生改变,服务器就会发送304 not modified的响应,这样浏览器就会使用缓存中的文件不会重新获取。

    实效,某些操作执行后浏览器会让缓存实效,最常见的就是创建指向相同url的非get请求。

    以上说了这么多,但我们平时不会改写报头也不做其他的事情。而实际上,大多数浏览器有一个最大缓存大小,当缓存达到这个大小时,就会从缓存中删除最近最少使用的项目,因此,长时间一直没有被使用的缓存项将被清除,我们应该保持项目更频繁的使用。

    因此,清除缓存是基于用户行为的,没有可靠的预测。如果不考虑缓存报头,浏览器可能会在缓存中存储你不想保存的内容,而没有保存你想要的内容。

    因此,开发人员需要自己对缓存应用编写相关的js代码。

  • 相关阅读:
    Java 并发性和多线程
    Java多线程整理
    线程死锁问题
    随机生成长度为len的密码,且包括大写、小写英文字母和数字
    ConcurrentHashMap原理分析
    并发 并行 同步 异步 多线程的区别
    Android与javaScript的交互
    Android6.0 新特性详解
    Android 6.0 新功能及主要 API 变更
    安装 Python-Client
  • 原文地址:https://www.cnblogs.com/wq123/p/4396446.html
Copyright © 2011-2022 走看看