ホームページ >バックエンド開発 >PHPの問題 >PHP304エラーの対処方法

PHP304エラーの対処方法

藏色散人
藏色散人オリジナル
2022-10-31 10:19:232186ブラウズ

PHP 304 エラー設定方法: 1. 対応する PHP ファイルを開く; 2. 時刻の md5 値を変更する; 3. "@trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) を渡す{ header("HTTP/1.1 304 Not Modified");exit;" メソッドで 304 を出力できます。

PHP304エラーの対処方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

PHP 304 エラーが報告された場合はどうすればよいですか?

php 静的ファイルは 304 を返します

いくつかの静的ファイル (画像など) が php によって出力されることがありますが、リクエストはすべて 200 であり、静的ファイルが毎回サーバーにリクエストする必要があります。リソースの無駄です。この時点でブラウザに画像をキャッシュさせるにはどうすればよいですか? phpで304を出力する必要があります。

php で HTTP_IF_MODIFIED_SINCE を etag と組み合わせて使用​​すると、これを行うことができます。 Etag には明確に定義された形式がありません。ファイル変更時刻の md5 値を使用できます。コードは次のとおりです:

コードは次のとおりです:

private function _addEtag($file) {
    $last_modified_time = filemtime($file);
    $etag = md5_file($file);
    // always send headers
    header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
    header("Etag: $etag");
    // exit if not modified
    if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time ||
    @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
        header("HTTP/1.1 304 Not Modified");
        exit;
    }
}

は次の中で呼び出すことができます。静的ファイル(画像など)を出力する前のコードです。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHP304エラーの対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。