使用HTTP快取頭來優化PHP網站效能
儘管有先進的快取系統和框架,有時還是有必要實現基本的HTTP快取標頭以提高網站效能。特別是對於缺乏某些快取功能的 PHP 5.1.0 網站,標頭起著至關重要的作用。
PHP 網站的有效緩存標頭
要啟用有效的緩存,請考慮以下標題:
實現條件請求
除了設定快取標頭之外,處理條件請求至關重要,例如「If-Modified-Since」和「If -None-Match」。這些請求允許瀏覽器檢查文件自特定日期以來是否已更改,或者 ETag 自上次訪問以來是否已更改。
如果內容未更改,您可以傳回「304 Not Modified」狀態代碼,表示瀏覽器可以繼續使用快取版本。這種有效的方法可以最大限度地減少不必要的下載並加快網站載入速度。
以下 PHP 程式碼範例示範如何處理條件請求:
$timestamp = /* PHP script to generate a unique timestamp */;
$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = $language . $timestamp;
$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : false;
$if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] : false;
if ((($if_none_match && $if_none_match == $etag) || (!$if_none_match)) &&
($if_modified_since && $if_modified_since == $tsstring))
{
header('HTTP/1.1 304 Not Modified');
exit();
}
else
{
header("Last-Modified: $tsstring");
header("ETag: \"{$etag}\"");
}
透過實作快取標頭並有效處理條件請求,您可以大幅提升 PHP 網站的效能和使用者體驗。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3