同时设置Cache-Control与Pragma响应头时,网页是否会被缓存?
HTTP缓存行为解析:同时设置Cache-Control与Pragma的情况
你的理解完全正确,具体行为分两种场景:
现代浏览器(HTTP/1.1及以上标准)
- 这类浏览器优先遵循
Cache-Control头,直接忽略Pragma: no-cache。 - 你设置的
Cache-Control: public, max-age=53467会生效:资源允许被任何缓存层(浏览器本地、代理服务器、CDN等)存储,且在**53467秒(约14小时47分钟)**内,浏览器会直接使用缓存副本,无需向服务器发起验证请求。
老旧浏览器(仅支持HTTP/1.0)
- 这类浏览器不识别
Cache-Control头,只会执行Pragma: no-cache规则:浏览器不会缓存该页面,每次请求都会直接向服务器获取最新资源。
总结:这个响应头组合实现了「现代浏览器缓存优化+老旧浏览器强制不缓存」的兼容效果。
内容的提问来源于stack exchange,提问作者Vivek Dhiman
相关产品推荐
相关产品推荐

