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

使用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

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

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

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

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

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

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