現在表示中:

アイコンなどの静的オブジェクトは変化しません。したがって、不必要なトラフィックを減らすために、静的オブジェクトを(ある程度の期間は)期限切れにならないように設定する必要があります。

これにより、次のような影響があります。

  • サーバーインフラストラクチャから要求がオフロードされます。
  • ブラウザーでのオブジェクトのキャッシュ先がブラウザーキャッシュとなるので、ページ読み込みのパフォーマンスが向上します。

有効期限は、ファイルの「有効期限」に関する HTTP 規格によって指定されています(RFC 2616 の第 14.21 章「Hypertext Transfer Protocol -- HTTP 1.1」などを参照)。この規格では、ヘッダーを使用することで、クライアントがオブジェクトを期限切れになるまでキャッシュできます。対象となるオブジェクトは、指定された期間中はずっとキャッシュ内に維持され、生成元サーバーに対するステータスチェックはおこなわれません。

注意:

この設定は、Dispatcher とは完全に別のものであり、Dispatcher に対しては機能しません。

Dispatcher の目的は、AEM の手前でデータをキャッシュすることです。

動的ではなく、時間が経過しても変化しないファイルはすべてキャッシュ可能であり、またキャッシュする必要があります。Apache HTTPD サーバーの設定は、環境により、次のいずれかのようになります。

警告:

オブジェクトの有効期間を定義する際は、注意が必要です。指定した期間が経過するまではステータスのチェックがおこなわれないので、クライアントがキャッシュ内の古いコンテンツを提示する可能性があります。

  1. オーサーインスタンスの場合:

    LoadModule expires_module modules/mod_expires.so
    <Location /libs>
      ExpiresByType text/css "access plus 1 month"
      ExpiresByType text/javascript "access plus 1 month"
      ExpiresByType image/png "access plus 1 month"
      ExpiresByType image/gif "access plus 1 month"
    </Location>

    この設定により、中間キャッシュ(ブラウザーキャッシュなど)は、CSS、Javascript、PNG および GIF の各ファイルを期限切れになるまで最長で 1 ヶ月間格納できます。つまり、これらのファイルを AEM や Web サーバーに要求する必要はなく、ブラウザーキャッシュに残しておけるということです。

    サイトのその他のセクションは、いつでも変更される可能性があるので、オーサーインスタンスにはキャッシュしないでください。

  2. パブリッシュインスタンスの場合:

    LoadModule expires_module modules/mod_expires.so
    <Location /content>
      ExpiresByType text/css "access plus 1 day"
      ExpiresByType text/javascript "access plus 1 day"
      ExpiresByType image/png "access plus 1 day"
      ExpiresByType image/gif "access plus 1 day"
    </Location>
    <Location /etc/designs>
      ExpiresByType text/css "access plus 1 day"
      ExpiresByType text/javascript "access plus 1 day"
      ExpiresByType image/png "access plus 1 day"
      ExpiresByType image/gif "access plus 1 day"
    </Location>
    

    この設定により、中間キャッシュ(ブラウザーキャッシュなど)は、CSS、Javascript、PNG および GIF の各ファイルをクライアントキャッシュに最長で 1 日間格納できます。この例では、/content および /etc/designs の下にある全コンテンツのグローバル設定を示していますが、実際はもっと細分化する必要があります。

    サイトの更新頻度によっては、HTML ページのキャッシュも検討できます。妥当な期間は 1 時間です。

    <Location /content>
      ExpiresByType text/html "access plus 1 hour"
    </Location>

静的オブジェクトの設定が完了したら、該当するオブジェクトが保持されているページを選択した状態で request.log をスキャンして、静的オブジェクトに対する(不必要な)要求がおこなわれていないことを確認します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー