legacy-knowledge-base
公開されました Sep. 10, 2025

js_resolve_modules 呼び出しのキャッシュ

written-by

Kanchan Bisht

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • ロード時間と、resolved_modules をキャッシュすることによってサーバーから要求されるデータの量を削減する必要があります。

Environment

  • DXP-8を搭載したLiferay 7.2

解決策

  • 修正プログラムが提供されており、以下にその動作の説明を示します

      • ホットフィックスはどのブラウザーにも依存しません。 この修正により、ブラウザーは resolve_modules 応答をキャッシュできるようになります。

      • たとえば、Firefox と Chrome
        の 2 つのブラウザーがあるとします。 Firefoxの場合、要求ヘッダーには Cache-Control: max-age:0が含まれます。これにより、指定されたリソースがサーバー上で変更されているかどうかをブラウザーに強制的に尋ねます。か否か。 GET および HEAD メソッドの条件が失敗した (リソースが変更されていない) 場合、サーバーは HTTP ステータス コード 304 (未変更) を返す必要があります。 この後、リソースはキャッシュから提供されます。

        Chrome では、ヘッダーに If-None-Match:"<etag_value>" が含まれています。これにより、リクエストが条件付きになります。 GET メソッドと HEAD メソッドの場合、サーバーは、指定されたものと一致する ETag がない場合にのみ、要求されたリソースを 200 ステータスで返します。 GET および HEAD メソッドの条件が失敗した場合、サーバーは HTTP ステータス コード 304 (変更されていません) を返す必要があります。

      • この時点で、サーバーがステータス コード 304を返しても、Chrome はステータス コード「200」を返すことを決定します。 これは Chrome 自体の「問題」であり、Liferay とは関係ありません。「Chrome は、サーバーが 304を返しても 200 OK を示します」。
        そうは言っても、キャッシュは引き続き機能し、リソースは Chrome と Firefox の両方でキャッシュから提供されます。

      • ホットフィックスにより、このリソースの読み込み時間が約 300 倍改善されました。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base