zoukankan      html  css  js  c++  java
  • http缓存机制

    之前一直有阅读http权威指南或相关的书籍,但没有深刻的实践与思考,这部分知识理论是很难理解的,

    因为都是理论,实践起来是比较难的在没有指导的情况下,因为web开发的人很少有人真的理解这部分

    内容并透彻运用,而http缓存机制一般是使用默认的就可以了,没有必要去调整,因为缓存是为了更好

    的体验,所以没有必要设置禁止之类的,都是针对性的让某个文件更新,比如加版本号、hash改变名称

    之类的,让文件请求识别为新文件而解决缓存问题。

    http缓存信息都在报文头里,而http请求缓存处理有两种,一种为强缓存,一种为协助缓存,而强缓存为

    浏览器端的缓存,就是资源都在浏览器端直接获取不去服务器,而协助缓存就是先去服务器对比后明确

    是否缓存后获取缓存信息,而一般强缓存优先,后到协助缓存,如network的size字段为from cache为强缓存,

    而状态码为304为协助缓存。

    而具体阻止可以使用no-cache、no-store。

    具体资料:

    彻底理解HTTP缓存

    而浏览器的历史记录的缓存和http缓存是有区别的,所以之前一直让我无法清除缓存的原因是因为我使用浏览器

    的后退前进按钮实践查看清除缓存情况无效的源头,而解决的方式是刷新或替换历史记录当前路径让资源被重新

    请求。

    用户代理通常具有历史机制,例如“后退”按钮和历史列表,可以用来重新显示会话中较早检索到的实体。

    历史机制和缓存是不同的。特别地,历史机制不应试图显示资源的当前状态的语义上透明的视图。更确切地说,历史机制的目的是准确地显示用户在检索资源时所看到的内容。

    默认情况下,过期时间不适用于历史机制。如果实体仍然处于存储状态,即使实体已经过期,历史机制也应该显示它,除非用户已经专门配置了代理来刷新过期的历史文档。

    这不应被解释为禁止历史机制告诉用户视图可能是陈旧的。

    翻译于资料:caching in HTTP

    资料2

  • 相关阅读:
    %EF%BB%BF问题
    java 性能调优总结
    Mysql 批量数据插入- 插入100万条数据
    中医-常见病-疗法
    windows Oracle 卸载注册表清理脚本
    Redis 关键点剖析
    JPA教程
    Xcode8 iOS10 中权限适配
    textField设置输入文字距左边的距离
    调用手机相册,相册语言选择,
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/8992863.html
Copyright © 2011-2022 走看看