web-dev-qa-db-ja.com

Apache2でCache-Controlヘッダーを設定するための最良の方法は何ですか?

このリンクの下 Apache2サーバーでCache-Controlヘッダーを設定する方法の例がいくつかあります。したがって、一般的に、これらのヘッダーを設定するには3つの異なるアプローチがあります。

  1. mod_expires + mod_headersの両方を使用する
  2. mod_headersのみを使用
  3. mod_expiresのみを使用

それらの間に大きな違いはありますか?どちらが好ましいのか、そしてその理由、あるいはそれはまったく問題ではないのでしょうか? Apache2でCache-Controlヘッダーを設定する最良の方法は何ですか?

2

主な違いは、ExpiresヘッダーがWebアプリケーションまたはスクリプトによってすでに設定されていて、実際に使用できない場合、 mod_expiresCache-Controlヘッダーを置き換え/更新しないことです。 max-ageキャッシュ制御ヘッダー以外のものを設定します。

一方、 mod_headersHeader ディレクティブは、思いやりがないように構成でき、既存のヘッダーを新しいヘッダーにマージまたは完全に置き換えることもできます。指定します。これにより、Webアプリケーションまたはスクリプトが設定したCache-Controlヘッダー(デフォルトで構成不可)をオーバーライドしたり、他のヘッダーを設定したりできます。

私の知る限り、mod_headersは、mod_expiresが将来の日付を計算するために行う計算を行うためのインターフェイスを提供していません。つまり、Expiresヘッダーをnow + 1 monthのタイムスタンプに設定するために、Headerディレクティブを使用することはできません。

したがって、モジュールは補完的です。

2
HBruijn