2011-07-29 12 views
3

ブラウザのキャッシュを利用してページのスピードを上げたい。 max-ageやlast-modifiedのように聞こえるのは良い選択ですが、どのファイルをどのように実装するべきかを明確にしていません。一般的に、私は実際にこれを行う方法と私のhtaccessでコードがどのように見えるのか混乱しています。私は、もっと明白な助けを得たり、いくつかの例を見たいと思っています。あるいは、誰かが私のような初心者が理解できるレッスン/チュートリアルに私を導くことができます。 max-ageとlast-modifiedについてもっと知っている人の助けを借りて、これをどうやって行うのか教えてください。私は本当にこれで失われ、私を助けるために誰かに支払うだろう。ありがとう。ブラウザのキャッシングを活用する

答えて

9

SOいくつかの良い情報を返されたであろうに、ここで検索 - Leverage browser cachingのように - とにかくけど...から

http://www.samaxes.com/2011/05/improving-web-performance-with-apache-and-htaccess/

ページへの初めての訪問者は、複数のHTTPリクエストを行いますすべてのサイトファイルをダウンロードしますが、ExpiresCache-Controlヘッダーを使用すると、それらのファイルをキャッシュ可能にします。これにより、後続のページビューで不必要なHTTP要求が発生するのを防ぎます。

Apacheはmod_expiresmod_headersモジュールのおかげでこれらのヘッダーを有効にします。

mod_expiresモジュールはExpires HTTPヘッダおよびサーバ応答におけるCache-Control HTTPヘッダのmax-age指令の設定を制御します。

以外のCache-Controlディレクティブを変更するには、mod_headersモジュールを使用できます。

mod_headersモジュールは、HTTP要求および応答ヘッダーを制御および変更するための指示を提供します。ヘッダーは、マージ、置換、または削除することができます。 Expiresヘッダを設定するための

ルール:Cache-Controlヘッダを設定するための

# BEGIN Expire headers 
<ifModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 5 seconds" 
    ExpiresByType image/x-icon "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 216000 seconds" 
    ExpiresByType application/javascript "access plus 216000 seconds" 
    ExpiresByType application/x-javascript "access plus 216000 seconds" 
    ExpiresByType text/html "access plus 600 seconds" 
    ExpiresByType application/xhtml+xml "access plus 600 seconds" 
</ifModule> 
# END Expire headers 

ルール:

# BEGIN Cache-Control Headers 
<ifModule mod_headers.c> 
    <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> 
    Header set Cache-Control "public" 
    </filesMatch> 
    <filesMatch "\.(css)$"> 
    Header set Cache-Control "public" 
    </filesMatch> 
    <filesMatch "\.(js)$"> 
    Header set Cache-Control "private" 
    </filesMatch> 
    <filesMatch "\.(x?html?|php)$"> 
    Header set Cache-Control "private, must-revalidate" 
    </filesMatch> 
</ifModule> 
# END Cache-Control Headers 

注:それはすでにmod_expiresで設定されているのでCache-Controlヘッダとmax-ageディレクティブを設定する必要はありませんモジュール。

must-revalidateは、レスポンスが古くなったら再検証する必要があることを意味します。毎回チェックする必要があるわけではありません。ここ

さらに詳しい情報:http://www.mnot.net/cache_docs/
とGoogleから:http://code.google.com/speed/page-speed/docs/caching.html
とYahoo:http://developer.yahoo.com/performance/rules.html#expires

関連する問題