当前位置:首页 >  站长 >  建站经验 >  正文

Cache-Control 一次讲透:浏览器缓存配错等于白配

 2026-08-27 09:46  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

测速工具天天提示利用浏览器缓存,你给全站加了个Expires 7天,结果用户改了CSS半天不生效,一气之下又全关了。多数人对浏览器缓存的理解就卡在这:要么不敢用,要么用错。核心其实就一个头:Cache-Control。

记住一个原则:带指纹的文件永久缓存,不带指纹的禁缓存。带指纹指文件名里带版本号或内容哈希,比如app.a3f9c2.js,内容一变文件名就变,URL换了缓存自然失效,所以可以放心设一年。

# nginx:静态资源带指纹,缓存一年,immutable
location ~* \.(css|js)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}

# HTML文档不带指纹,禁止缓存或短缓存
location = /index.html {
add_header Cache-Control "no-cache";
}

# 图片字体类基本不改动,缓存30天
location ~* \.(jpg|png|webp|woff2)$ {
add_header Cache-Control "public, max-age=2592000";
}

no-cache不是不缓存,是每次用之前要问服务器有没有更新,配合ETag或Last-Modified只传304状态不传正文,流量照样省。真正不缓存的是no-store。immutable是给强缓存上双保险:告诉浏览器在有效期内连304确认请求都不用发。

验证按F12开网络面板,看静态资源的Status列:显示200 (from disk cache)或(memory cache)说明强缓存命中,显示304说明协商缓存生效。要是每次刷新都重新下载几百KB的JS,那就是配置根本没生效,先检查add_header有没有被location正则抢走。缓存策略的本质是拿新鲜度换流量,指纹化文件名是让这笔交易稳赚不赔的前提。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
网站建设

相关文章

  • Nginx limit_req 限流:几行配置挡住大部分CC攻击

    服务器CPU莫名飙高,带宽跑满,看日志全是同一个IP一秒打来几十个请求——这不是业务火了,是被CC了。扛CC的第一道闸门不在代码里,在Nginx的限流模块里,配置成本几乎为零。limit_req的原理是漏桶:你设定一个速率,超速的请求直接返回503或延迟排队。先用limit_req_zone定义一个

  • Nginx开启Brotli压缩:流量省20%的正确姿势

    Gzip大家都不陌生,但Brotli的压缩率通常还能再高15%到25%。现在主流浏览器都支持Brotli,Nginx加上这个模块后,文本类资源能省下不少带宽和CDN费用。Nginx官方主线版不自带Brotli,需要加载Google维护的ngx_brotli动态模块。编译过的发行版一般把模块文件放在/

    标签:
    网站建设
  • 问答社区站运营:冷启动到商业化的完整策略

    问答社区是用户黏性最强的网站类型,但冷启动最难。没人问、没人答、没人看,三个死循环要打破。冷启动的核心是种子内容。别等用户来问,自己先提问自己回答。找业界常见问题,写成问答对,用SEO吸引搜索流量。QWordPress怎么优化速度?A1.开Gzip压缩,减小HTML/CSS/JS体积2.图片用Web

  • 移动端适配方案:响应式设计vs独立移动站

    现在手机流量占总流量的60%以上,不做移动端适配等于放弃一半用户。两种主流方案:响应式设计和独立移动站。响应式设计,一套代码适应所有屏幕。核心是CSS媒体查询,根据屏幕宽度加载不同的样式。优点是维护成本低,缺点是移动端仍然加载完整的PC页代码。/*基础样式(手机优先)*/.container{wid

  • 从零搭建WordPress网站:五步完整流程

    写在动手之前做网站这件事,最难的一步不是技术,是心理上觉得"肯定很复杂所以一直没动手"。实际情况是,WordPress建站的整体流程比你想象的简单很多——买域名、买主机、装WordPress、选个模板、开始写内容。每一步都有成熟方案。这篇文章的目标是:跟着步骤走,一个下午能把一个新网站搭建到可以正常

热门排行

信息推荐