NGINX下配置CACHE-CONTROL头
HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。
在请求消息或响应消息中设置 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。
Nginx的ngx_http_headers_module模块可以对Cache-Control头相关的东西进行配置
例如:
1 # 相关页面设置Cache-Control头信息
2
3 if ($request_uri ~* "^/$|^/search/.+/|^/company/.+/") {
4 add_header Cache-Control max-age=3600;
5 }
6
7 if ($request_uri ~* "^/search-suggest/|^/categories/") {
8 add_header Cache-Control max-age=86400;
9 }
个人理解的max-age意思是:客户端本地的缓存,在配置的生存时间内的,客户端可以直接使用,超出生存时间的,到服务器上取新数据。当然这些还要看客户端浏览器的设置。