https://www.cnblogs.com/sfnz/p/5383647.html
Nginx配置CACHE-CONTROL
HTTP协议的Cache-Control指定请求和响应遵循的缓存机制
请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等
响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age
max-age指明以秒为单位的缓存时间
- Http协议的cache-control的常见取值及其组合释义:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| no-cache: 数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器.
no-store: 不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源)
private(默认): 只能在浏览器中缓存, 只有在第一次请求的时候才访问服务器, 若有max-age, 则缓存期间不访问服务器.
public: 可以被任何缓存区缓存, 如: 浏览器、服务器、代理服务器等
max-age: 相对过期时间, 即以秒为单位的缓存时间.
no-cache, private: 打开新窗口时候重新访问服务器, 若设置max-age, 则缓存期间不访问服务器.
private, 正数的max-age: 后退时候不会访问服务器
no-cache, 正数的max-age: 后退时会访问服务器
|
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 相关页面设置Cache-Control头信息 例一: if ($request_uri ~* "^/$|^/search/.+/|^/company/.+/") { add_header Cache-Control max-age=3600; }
例二: location ~ .*\.(css|js|swf|php|htm|html)$ { add_header Cache-Control no-store; }
例三: location ~ .*\.(js|css)$ { expires 10d; }
|