You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何浏览器重复加载base.js?如何避免相同资源重复加载?

问题原因

浏览器的缓存判定逻辑中,请求的Cookie是缓存键的组成部分——即使两个请求的URL完全相同,只要Cookie存在差异,浏览器就会将它们视为两个独立的请求,不会复用已缓存的资源。

你遇到的情况,大概率是两个嵌入的视频在加载base.js时,携带了不同的Cookie(比如一个是匿名上下文、一个带用户登录Cookie,或是视频播放器的加载逻辑自动注入了不同的会话Cookie),导致浏览器认为这是两个不同的资源请求,从而触发了重复加载。

解决方法
  • 分离静态资源与Cookie依赖:将base.js这类无业务Cookie依赖的静态资源,部署到独立的静态资源域名(如static.yourdomain.com),并确保该域名不携带主站的Cookie。同时在静态资源的响应头中设置Cache-Control: public, max-age=31536000, immutable,让浏览器长期缓存该资源。
  • 强制请求不携带Cookie:如果无法更换域名,在加载base.js时,通过fetch请求的话设置credentials: 'omit';如果是通过<script>标签加载,添加crossorigin="anonymous"属性(需确保服务器配置了对应的CORS响应头,允许匿名跨域请求),强制请求不携带Cookie,统一缓存标识。
  • 统一视频加载上下文:检查两个视频的嵌入逻辑,确认是否存在播放器SDK自动添加不同Cookie的情况。统一播放器的初始化参数与加载环境,确保base.js的请求Cookie完全一致,让浏览器可以复用缓存。

内容的提问来源于stack exchange,提问作者HelloWorld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:49:56