Glassfish 3.1.2、Mojarra 2.1.6、SSL 有効化
静的リソース キャッシングについて質問があります。これに関するいくつかの記事を読みましたが、どのオプションを使用すればよいかわかりません。これ
https://developers.google.com/speed/docs/best-practices/caching
また、リソース キャッシングに関する優れた記事です。当社のアプリケーション サーバー内では、SSL がアクティブ化されています。静的リソース (画像、スクリプト、CSS) がキャッシュされていないことがわかります。
これが私のテストフィルターです:
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String uri = httpRequest.getRequestURI();
if (GET_METHOD.equalsIgnoreCase(httpRequest.getMethod()) && uri.contains(ResourceHandler.RESOURCE_IDENTIFIER)) {
httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 2419200000L); // 1 month in future.
httpResponse.setDateHeader("Last-Modified", System.currentTimeMillis() - 2419200000L); // 1 month in past.
httpResponse.setHeader("Cache-Control", "public"); // Secure caching
}
}
chain.doFilter(request, response);
}
- 有効期限: わかりました。変更されない静的リソースであるため、有効期限を 1 か月先に設定しています。
- 最終更新日: わかりません。これを過去に設定すると、キャッシュにも影響があることを読みました
- キャッシュ制御: わかりました。安全なキャッシュを許可します。セキュリティへの影響は?
この設定による影響はありますか? また、フィルターを介してキャッシュを無効にする必要がある投稿をたくさん読みました。私が目にする唯一の問題は、ユーザーが新しいリリースで問題を起こす可能性があるということです。スタイルとスクリプトは新しいリリースで変更できますが、ブラウザは新しいものを無視し、キャッシュからファイルを使用します。