Skip to content
ADP
API Design PrincipleBETA

[ADP-371] HTTP 快取: Cache-Control

API 特定的 Cache-Control 指令

關於標頭特定原則,請參考 ADP-124

API 快取的最佳實踐

  1. 一致使用 Cache-Control 標頭: 始終在 API 回應中包含適當的 Cache-Control 標頭。

  2. 考慮資源變動性: 根據資源變更頻率調整快取指令。

  3. 保護敏感資料: 對包含敏感資訊的回應使用 no-store

  4. 優化效能: 對經常訪問但很少變更的資源使用快取,以減少伺服器負載並改善回應時間。

  5. 版本感知快取: 在快取鍵中包含 API 版本,以防止跨版本提供過時資料。

  6. 實現 ETag 支援: 結合使用 ETag 和 Cache-Control 以高效驗證快取資源。

實現範例

公開、唯讀資料的快取

http
Cache-Control: public, max-age=3600

這允許任何快取存儲一小時,適用於公開、經常訪問且不常更新的資源。

私有、用戶特定資料

http
Cache-Control: private, max-age=3600

這允許瀏覽器客戶端快取一小時,適用於不應在用戶之間共享的用戶特定資料。

頻繁變更的資源

http
Cache-Control: no-store

這防止快取回應,適用於頻繁變更或包含敏感資訊的資源。

參考