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意思是:客戶端本地的緩存,在配置的生存時間內的,客戶端可以直接使用,超出生存時間的,到服務器上取新數據。當然這些還要看客戶端瀏覽器的設置。
在請求消息或響應消息中設置 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意思是:客戶端本地的緩存,在配置的生存時間內的,客戶端可以直接使用,超出生存時間的,到服務器上取新數據。當然這些還要看客戶端瀏覽器的設置。
PS:必須配合Last-Modified使用