当前位置: 首页 > 知识库问答 >
问题:

使用cdn.bootcdn.net为什么不会缓存资源?

黄昊英
2024-07-01
<script data-n-head="ssr" src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.min.js" defer></script>
<script data-n-head="ssr" src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.min.js" defer></script>

如上所示,使用cdn.bootcdn.net资源,但是每次请求都会从cdn服务器上重新获取资源,非常耗时,白屏很差长时间,查询发现Cache-Control值是no-cache, no-store, must-revalidate导致的,需要怎么修改呢?

1.png

共有2个答案

鲍俊杰
2024-07-01

1、换一个CDN源试试
2、
可以试试使用nginx设置缓存策略

http {
    #指定缓存放在本机的哪个地方、缓存大小和有效期7天
    proxy_cache_path /data/nginx/static_cache levels=1:2 keys_zone=static_cache:100m inactive=7d;

    server {
        # 其他配置...

        # 针对静态资源的缓存配置,缓存7天
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            proxy_pass http://your-cdn-url-here;
            proxy_cache static_cache;
            proxy_cache_bypass $http_pragma;
            proxy_cache_revalidate on;
            proxy_cache_min_uses 1;
            proxy_cache_lock on;
            proxy_cache_valid 200 7d;
        }
    }
}

还可以试试把响应头替换一下:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    proxy_pass http://your-cdn-url-here;
    #max-age:强缓存300秒 no-cache:协商缓存,有变动就重新请求,没变动就用缓存
    add_header Cache-Control max-age=300或者no-cache
}
封鸿雪
2024-07-01

https://blog.akass.cn/resources/mirrors

 类似资料:
  • 本文向大家介绍为什么要用 redis ?为什么要用缓存?相关面试题,主要包含被问及为什么要用 redis ?为什么要用缓存?时的应答技巧和注意事项,需要的朋友参考一下 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能: 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓

  • 使用浏览器打开网址的时候网站的文档文件(index.html)会直接从缓存中读取(强缓存),不会发起请求,而之后再从这个页面点击刷新按钮时就不会直接从缓存中读取了,而是进行协商缓存,如果文件发生改变了则会去获取最新的文件。 由于初次进入页面的时候直接从缓存中读取,所以导致了就算服务器上的文件改变了浏览器也不会更新,我希望可以在第一次进入浏览器的时候就进行协商缓存,如果文件发生了变化就重新请求资源。

  • 问题内容: 我在Java 6的String源代码中注意到,hashCode仅缓存除0以外的值。以下代码段显示了性能差异: 在ideone.com中运行此命令可获得以下输出: 所以我的问题是: 为什么String的hashCode()不缓存0? Java字符串哈希为0的概率是多少? 避免对于每次哈希值都为0的字符串每次都重新计算哈希值的性能损失的最佳方法是什么? 这是缓存值的最佳实践方法吗?(即除了

  • 我了解到,使用服务工作者进行脱机缓存与浏览器缓存类似。如果是这样的话,那么为什么您希望使用服务工作者进行此缓存?浏览器缓存将检查文件是否被修改,然后从缓存中提供服务,通过服务工作者,我们将从代码中处理相同的事情。默认情况下,浏览器具有该功能,那么为什么更喜欢服务人员呢?

  • 本文向大家介绍为什么要用 redis 而不用 map/guava 做缓存?相关面试题,主要包含被问及为什么要用 redis 而不用 map/guava 做缓存?时的应答技巧和注意事项,需要的朋友参考一下 缓存分为本地缓存和分布式缓存。以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 jvm 的销毁而结束,并且在多实例的情况下,每个

  • 面试题 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 面试官心理分析 这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。 只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果? 这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯

  • 问题内容: Sun的规范JVM实现对字节码进行了一些相当复杂的优化,以在代码运行几次后获得接近本机的执行速度。 问题是,为什么没有将此编译后的代码缓存到磁盘以供以后使用同一功能/类时使用? 就目前而言,每次执行程序时,JIT编译器都会重新启动,而不是使用代码的预编译版本。当本质上解释字节码时,是否添加此功能不会大大提高程序的初始运行时间? 问题答案: 我不求助于@MYYN发布的链接的’n’past

  • 问题内容: 在OpenJDK中,该方法为: Javadoc说: 返回表示指定double值的Double实例。如果不需要新的Double实例,则通常应优先于构造方法Double(double)使用此方法,因为此方法通过缓存经常请求的值可能会产生明显更好的空间和时间性能。 这是实际的代码: 缓存是骗人的!这里发生了什么? 问题答案: 该方法存在多种类型:,和其他类型,并且文档始终相同:在某些情况下(