[ADP-371] HTTP 快取: Cache-Control
API 特定的 Cache-Control 指令
關於標頭特定原則,請參考 ADP-124
API 快取的最佳實踐
一致使用 Cache-Control 標頭: 始終在 API 回應中包含適當的 Cache-Control 標頭。
考慮資源變動性: 根據資源變更頻率調整快取指令。
保護敏感資料: 對包含敏感資訊的回應使用
no-store
。優化效能: 對經常訪問但很少變更的資源使用快取,以減少伺服器負載並改善回應時間。
版本感知快取: 在快取鍵中包含 API 版本,以防止跨版本提供過時資料。
實現 ETag 支援: 結合使用 ETag 和 Cache-Control 以高效驗證快取資源。
實現範例
公開、唯讀資料的快取
http
Cache-Control: public, max-age=3600
這允許任何快取存儲一小時,適用於公開、經常訪問且不常更新的資源。
私有、用戶特定資料
http
Cache-Control: private, max-age=3600
這允許瀏覽器客戶端快取一小時,適用於不應在用戶之間共享的用戶特定資料。
頻繁變更的資源
http
Cache-Control: no-store
這防止快取回應,適用於頻繁變更或包含敏感資訊的資源。