美文网首页
前端文件缓存清理方案

前端文件缓存清理方案

作者: hunter97 | 来源:发表于2023-05-28 14:06 被阅读0次

    方案一:meta方法,在head标签里添加代码。

    <!-- 指定Expires值为一个早已过去的时间,访问时若重复在地址栏按回车,每次都会重复访问 -->
    <meta http-equiv="Expires" content="0">
    <!-- 禁止浏览器从本地计算机的缓存中访问页面内容。(这样设定,访问者将无法脱机浏览。) -->
    <meta http-equiv="Pragma" content="no-cache">
    <!-- Cache-control值为no-cache时,访问此页面不会在Internet临时文件夹留下页面备份 -->
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="Cache" content="no-cache">
    

    Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。
    指令含义如下:

    指令 含义
    Public 指示响应可被任何缓存区缓存。
    Private 指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
    no-cache 指示请求或响应消息不能缓存。
    no-store 用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
    max-age 指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
    min-fresh 指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
    max-stale 指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

    方案二:css和js文件清除缓存。

    <link rel="stylesheet" href="../css/index.css"/>
    <script src="../js/index.js"></script>
    

    改为以下写法

    <link rel="stylesheet" href="../css/index.css?v=20201037"/>
    <script src="../js/index.js?v=20201037"></script>
    

    可优化为:

    <script type="text/javascript">
            document.write('<script src="../js/index.js?v=' + new Date().getTime() +'" type="text/javascript" charset="utf-8"><\/script>');
    </script>
    

    方案三:nginx配置不缓存。

    location = /index.html {
        add_header Cache-Control "no-cache, no-store";
    }
     
    // 配置了反向代理则如下:(xx为你的代理的项目名) 
    location = /xx {
        add_header Cache-Control "no-cache, no-store";
    }
    

    相关文章

      网友评论

          本文标题:前端文件缓存清理方案

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