三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何开启304协商缓存?

美国、香港服务器

如何开启304协商缓存?

04-02   来源:

一、原理(一句话)
首次请求:服务器返回 200 + ETag + Last-Modified
再次请求:浏览器带 If-None-Match (ETag) / If-Modified-Since (时间)
资源没变:服务器返回 304 Not Modified(无内容,省流量)
资源变了:返回 200 + 新内容 + 新 ETag
304 不占 CDN 缓存,CDN 只负责把校验头透传给源站。
二、源站配置(必须先做)
1. Nginx 配置(推荐)
nginx
server {
    listen 80;
    server_name yourdomain.com;
    root /www/wwwroot/yourdomain;
 
    # 全局开启
    sendfile on;
    etag on;          # 开启 ETag(默认已开)
    if_modified_since on; # 开启 Last-Modified 校验(默认已开)
 
    # 静态资源:强缓存 + 协商降级(最佳)
    location ~* \.(jpg|png|css|js|woff2|svg|gif)$ {
        # 强缓存30天,过期后走304协商
        add_header Cache-Control "public, max-age=2592000, no-cache";
        expires 30d;
    }
 
    # 动态页面/HTML:纯协商缓存(不做强缓存)
    location ~* \.(html|php)$ {
        add_header Cache-Control "public, no-cache, must-revalidate";
        expires 0; # 不做强缓存
    }
}
no-cache = 强制走 304 校验,不是不缓存
public = 允许 CDN 缓存
2. Apache (.htaccess)
apache
# 静态资源
    Header set Cache-Control "public, max-age=2592000, no-cache"
    Header set ETag ""
    FileETag MTime Size
 
# HTML/PHP
    Header set Cache-Control "public, no-cache, must-revalidate"
    Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
三、CDN 配置(各家通用)
1. 阿里云 CDN
进入 域名管理 → 管理 → 缓存配置
缓存过期时间:
静态文件:缓存 30 天,强制缓存:否
HTML/PHP:缓存 0 秒(不缓存)
回源请求头:
开启 透传 If-None-Match、If-Modified-Since(默认已开)
不要 开启:
忽略 Query 参数
过滤 ETag / Last-Modified
2. 腾讯云 CDN
缓存配置 → 缓存规则
静态文件:缓存 30 天,强制缓存:关闭
回源:透传 If-None-Match / If-Modified-Since
3. Cloudflare
Rules → Page Rules
匹配 *yourdomain.com/*
设置:
Cache Level: Standard(必须,不能 Cache Everything)
Origin Cache Control: On
Browser Cache TTL: 30 days
不要 开:
Disable performance(会删 ETag)
Auto Minify 可能影响 ETag(测试后再开)
四、验证是否生效(关键)
1. 命令行验证
bash
运行
# 第一次请求(200,带 ETag/Last-Modified)
curl -I https://yourdomain.com/style.css
 
# 第二次请求(带校验头,返回304)
curl -I -H "If-None-Match: \"xxx\"" -H "If-Modified-Since: Sun, 01 Jan 2023 00:00:00 GMT" https://yourdomain.com/style.css
看到 304 Not Modified = 成功
响应头有 ETag / Last-Modified = 正常
2. 浏览器验证
F12 → Network
刷新页面
状态列:304 Not Modified(或 200 from disk cache)

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何在宝塔面板中设置304协商缓存? 下一篇:如何优化缓存与安全?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)