web-dev-qa-db-ja.com

期限切れヘッダーのより適切な説明を要求する

期限切れヘッダーの実装に成功しましたが、数日間、1つのことに困惑しました。この記事: http://www.tipsandtricks-hq.com/how-to-add-far-future-expires-headers-to-your-wordpress-site-15 状態

有効期限ヘッダーを使用すると、ファイルは有効期限が切れるまでブラウザにキャッシュされるため、頻繁に変更されるファイルには使用しないでください。

他のサイトは私の読書で同じことを示しています。しかし、これは真実ではないようです。同じ名前を使用して、画像を数回更新しました。ブラウザを更新および更新するたびに、新しい画像(同じ名前)が表示されます。この記事から、新しい名前を使用しない限り、古い画像が表示されるはずであることがわかりました。

あなたは誤解がどこにあるか知っていますか?

問題の画像に有効期限ヘッダーが設定されていることを確認しました。

リクエストヘッダー:

Host               domain.com
User-Agent         Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 FirePHP/0.5
Accept             image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language    en-us,en;q=0.5
Accept-Encoding    gzip,deflate
Accept-Charset     ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive         115
Connection         keep-alive
Referer            http://domain.com/index.php
Cookie             __utma=1.61479883.1332439113.1332783348.1332796726.4;     __utmz=1.1332439113.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);PHPSESSID=lv2hun9klt2nhrdkdbqt8abug7; __utmb=1.33.10.1332796726; __utmc=1; ck_authorized=true
x-insight          activate
If-Modified-Since  Mon, 26 Mar 2012 21:55:33 GMT
Cache-Control      max-age=0

応答ヘッダー:

Date           Mon, 26 Mar 2012 22:06:50 GMT
Server         Apache/2.2.3 (CentOS)
Connection     close
Expires        Wed, 25 Apr 2012 22:06:50 GMT
Cache-Control  max-age=2592000

関連する設定(.htaccess):

<IfModule mod_expires.c>
    # Enable Expires Headers for this directory and sub directories that don't override it
    ExpiresActive on

    # Set default expiration for all files
    ExpiresDefault "access plus 24 hours"

    # Add Proper MIME-Type for Favicon
    AddType image/x-icon .ico

    # Set specific expriation by file type
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month"
    ExpiresByType image/icon "access plus 1 month"
</IfModule>
2
syn4k

キャッシュされた画像の保持とキャッシュされた画像の使用を混乱させているようです。ブラウザ保持設定どおりにキャッシュされた画像。ただし、ブラウザは、キャッシュされた画像が最新でないことがわかっている場合、その画像を使用しません。再検証と有効期限は2つの異なるものです。

3
David Schwartz

ブラウザがファイルを保存するように、「Cache-Control max-age = 2592000、public」を使用する必要があります。

0
cobra91