页面打开慢,不一定是资源文件太大,也可能是每次访问都要跨境取回文件。规划面向台湾访客的网页静态资源分发策略,第一步不是选服务商,而是确认资源会从哪里被缓存,以及缓存失效后要回到哪里取源文件。
两种“本地”缓存,作用并不相同
浏览器缓存保存在访客自己的设备上;用户再次访问时,浏览器可直接复用有效文件,或向服务器确认文件是否更新。边缘缓存则由 CDN 节点保存副本,台湾访客请求时,若节点已有有效副本,就不必每次跨境访问源站。
跨境回源发生在边缘节点没有可用副本、缓存已过期或规则要求重新验证时。若源站位于台湾以外,访问路径可能经过国际网络;实际耗时会受线路、拥塞、文件大小及连接复用等因素影响,不能只凭地图距离判断。
按资源更新方式设置缓存
版本固定的文件,可缓存更久
带内容版本号或哈希的 CSS、JavaScript、字体和图片,文件内容变化时同步更换文件名。确认部署流程可靠后,可为这类资源设置较长缓存,例如浏览器缓存 30 天至一年,并使用 immutable 指示内容不会在该网址下改变。旧页面仍引用旧文件时,旧文件应保留一段过渡时间,避免发布后出现缺图或样式丢失。
入口页面和常变内容,应便于更新
HTML 通常不适合长期固定缓存,可设置不缓存或短缓存,并允许重新验证;若使用共享边缘缓存,可依据更新频率设置较短的有效期,例如数分钟至数小时。经常替换的图片则可采用较短缓存或版本化网址。具体期限要结合发布频率、回滚要求和清除缓存能力决定。
Cache-Control 是常见的缓存控制响应头。浏览器缓存期限与共享缓存期限可以分别设置;部署前还要检查是否存在按 Cookie 或查询参数区分内容的规则,避免把个性化响应误缓存给其他访客。
新手可照着做的部署顺序
列出静态资源:分别标记 HTML、样式表、脚本、字体、图标和图片,并记录哪些会频繁更新。
决定源站位置与边缘服务范围:核对服务商是否提供台湾边缘缓存、支持的文件类型,以及缓存未命中时的回源路径;不要把“支持台湾访问”误当成“源站位于台湾”。
先给带版本号的静态文件设置长缓存,为 HTML 设置短缓存或重新验证规则。若资源放在单独域名,还应确认 HTTPS 证书、跨域资源共享设置和 MIME 类型正确。
发布后从台湾不同地区和网络环境访问页面,检查响应头中的缓存状态、资源更新时间及页面功能。首次访问与重复访问都要测;重点观察回源请求是否减少,而不只比较一次加载速度。
更新文件后验证新旧页面:确认新版本可加载、旧版本不会突然失效,并演练必要的缓存清除或回滚流程。
如何在成本与更新速度之间取舍
面向台湾访客的网页静态资源分发策略,通常要在三件事之间平衡:边缘缓存覆盖、跨境回源次数和内容更新时效。把所有资源设成长期缓存,能减少重复传输,却可能让访客看到旧内容;每次都要求回源,更新更容易确认,但会增加源站请求和跨境传输。对于不常变的版本化资源,优先长缓存;对于首页、价格或公告等可能频繁调整的内容,采用短缓存并保留主动清除能力。
持续查看 CDN 报表里的缓存命中率、回源流量和错误响应,再结合台湾访客实际页面体验调整规则。命中率偏低时,先排查查询参数、Cookie、缓存键和响应头,不必立刻更换架构。这样制定面向台湾访客的网页静态资源分发策略,才能把本地复用与跨境回源分别管好。
常见问题
浏览器缓存和边缘缓存需要设置成一样吗?
不必。浏览器缓存面对单个访客设备,边缘缓存由共享节点服务多个访客,可分别设定期限。
源站不在台湾,就一定要迁移吗?
不一定。若静态资源能在台湾边缘节点稳定命中,未命中回源的比例也可接受,先用测试和报表评估再决定。
为什么改了图片,部分访客仍看到旧图?
浏览器或边缘节点可能仍持有有效旧副本。采用新文件名发布,或按系统能力清除对应缓存,并确认页面引用了新网址。
只在台北测试够不够?
不够。还应覆盖不同地区、网络和首次访问场景;地区距离不能完全代表实际线路表现。