2011-06-26 12 views
19

常に最新のウェブサイトのコンテンツをユーザーに提示するだけでなく、高速に読み込むことができます。リサーチをすることで、私は読み込み速度を上げるためにキャッシュを使用することを提案する人々に出会いました。HTML - キャッシュコントロールの最大年齢

最新のコンテンツを表示するために3日後にキャッシュを「上書き」するには、Webサイトに何を追加する必要がありますか? 1として

+1

wordpressをお使いですか?ドリューパル?あなたはデータベースを持っていますか?あなたが思っているように、キャッシングは切れておらず、乾燥していません。 – Trey

+0

申し訳ありません。私はCMSなしでシンプルなPHPウェブサイトを使用しています。 – Uli

答えて

11

これを行うには複数の方法がありますが、キャッシュする必要があるものとキャッシュしないものを正確に検討する必要があります。最大のスピードアップは、HTML自体ではなく、あなたの資産(css、画像、javascript)がキャッシュされていることを確認することから来る可能性が高いです。次に、さまざまな要因(これらの資産がどのくらいの頻度で変更されるか、ユーザーにファイルの新しいバージョンをダウンロードさせるにはどうすれば変更できますか)を調べる必要があります。

多くの場合、サイトリリースプロセスの一部として、新しいファイル(更新されたファイル)に新しいファイル名が付けられて、ユーザーのブラウザにファイルのダウンロードを強制されますが、これは1つのアプローチに過ぎません。

あなたはapache mod_expireと、.htaccessファイルを使ってアセットの有効期限を設定する機能を調べるべきです。述べたように

http://www.google.com/?q=apache+cache+control+htaccess#q=apache+cache+control+htaccess

+0

ファイルを3日間キャッシュできるようにするには、サーバーの.htaccessファイルにこのコードを追加するだけでよいことを正しく理解できましたか? '#3日 '3日後に、ソースはhttp://www.askapache.com/htaccess/apache-speed-cache-control.html – Uli

+0

答えは、私はサーバーとしてApacheを使用していると仮定し、私はRubyアプリケーションを使用している場合はどうすればいいですか? ?これは動作しません – Joseph

+0

ここでは、HTMLヘッダーとお気に入りのプログラミング言語でキャッシュヘッダーを設定する方法についての明確な説明があるブログ記事http://docs.fastly.com/guides/22951283/26628787 – Joseph

0

YSlow recommendationsあなたは指定された期間のための応答をキャッシュするユーザーエージェントになります応答にExpiresCache-Control HTTPヘッダーまたはを追加するには、Webサーバーを設定することができます。

1

有効期限とのCache-Controlヘッダは、通常、情報の有効期間に関する情報を組み込むための最良の方法です。

クライアントはこれらの情報を解釈することであまり信頼できないため、ほとんどの人がイカ、ワニスなどのキャッシュ機能を備えたプロキシを優先します。静的コンテンツ(画像、スタイルシートなど)や動的に生成されたコンテンツだけをキャッシュするかどうかを検討する必要もあります。

15

Cache-Controlヘッダーは、HTTP 1.1でキャッシュの動作を制御するために使用されます。 max-ageディレクティブは、コンテンツが古くなる前のコンテンツの最大経過時間(秒単位)を指定するために使用されます(コンテンツは一定期間変更されません)。

Cache-Control: max-age=259200 

(259200 = 60年代のx 60メートルのx 24時間X 3D)

ことを行うには:あなたは、あなたのコンテンツが3日間変更されないことを知っているのであれば、あなたはあなたのサーバーには、次のHTTPヘッダーを追加しますPHPで、あなたの出力に次の行を追加します

ヘッダ機能に関する詳しい情報は、こちらをお読み
header('Cache-Control: max-age=259200'); 

+1

IISの場合は、 '[ - ] [d。] hh:mm:ss [.ff]'という形式を使用してweb.config内の静的コンテンツ(動的なものを動的に保つ)は、 ' ' –