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

为何Cloudflare不缓存WebAssembly文件却缓存同路径JavaScript文件?

为什么Cloudflare不缓存WebAssembly文件?

根据Cloudflare文档说明,动态URL不符合缓存条件时,cf-cache-status会返回DYNAMIC。通过curl检测发现同路径下的JS文件能被正常缓存,但WASM文件却不行:

检测WASM文件:

$ curl -sI https://play.carimbo.cloud/0.0.70/flippingpixels/wiggler/0.0.22/480p/carimbo.wasm | grep cf-cache-status
cf-cache-status: DYNAMIC

检测同路径JS文件:

$ curl -sI https://play.carimbo.cloud/0.0.70/flippingpixels/wiggler/0.0.22/480p/carimbo.js | grep cf-cache-status
cf-cache-status: HIT

可能的原因

  • Cloudflare默认缓存规则不包含.wasm后缀:Cloudflare默认会缓存JS、CSS、图片等常见静态资源,但WASM文件不在默认缓存列表内,需要手动配置。
  • 源服务器响应头配置问题:WASM文件的Cache-Control头可能设置了no-cache、no-store或max-age=0这类禁止缓存的指令;而JS文件的响应头配置了合理的缓存时长(比如max-age=31536000)。
  • 缓存/页面规则差异:可能你针对JS文件设置了专属缓存规则,但未覆盖WASM文件;或者存在规则明确排除了.wasm文件的缓存(比如设置了“绕过缓存”)。

解决方法

  • 检查源服务器返回的WASM文件响应头,确保Cache-Control设置为允许缓存的指令,例如:Cache-Control: public, max-age=31536000。
  • 在Cloudflare控制台的「缓存规则」中,添加匹配.wasm后缀的规则,设置缓存级别为「缓存所有静态资源」,或自定义合适的缓存TTL。
  • 排查现有页面规则,确认没有针对WASM文件的“绕过缓存”或“不缓存”设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:46:02