在PHP中,可以通過設置HTTP響應頭來控制GET請求的緩存策略,常見的緩存策略包括:
- 設置ETag:通過設置ETag(Entity Tag)來標識資源的版本,如果資源內容沒有改變,服務器可以返回304 Not Modified狀態碼,告訴客戶端可以繼續使用緩存的資源。
header('ETag: "123456789"');
- 設置Cache-Control:通過設置Cache-Control來指定緩存的行為,常見的指令包括:
- public:表示響應可以被任何中間緩存(如CDN)緩存。
- private:表示響應只能被瀏覽器緩存,不能被中間緩存緩存。
- max-age:指定緩存的有效期,單位為秒。
header('Cache-Control: max-age=60, public');
- 設置Expires:通過設置Expires來指定資源的到期時間,即資源在到期時間之前都可以被緩存。
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60) . ' GMT');
- 設置Last-Modified:通過設置Last-Modified來指定資源的最后修改時間,如果資源內容沒有改變,服務器可以返回304 Not Modified狀態碼。
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($file)) . ' GMT');
以上是常見的GET請求緩存策略,根據具體情況可以選擇適合的緩存策略來提高性能和減少網絡流量。