1

キャッシュ可能なページのコンテンツを定義するにはどうすればよいですか? Google Chromes 監査機能を使用していますが、次のように表示されます。

The following resources are explicitly non-cacheable. Consider making them cacheable if possible.

Filterすべてのリクエストで呼び出される新しいものを作成しました:

public class CachingFilter implements Filter {

    public void init(FilterConfig filterConfig) {
    }

    public void destroy() {
    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

    HttpServletResponse httpResponse = (HttpServletResponse) response;

        httpResponse.setHeader("Cache-Control", "private");
        httpResponse.setDateHeader("Expires", System.currentTimeMillis() + 604800000L); // one week
        httpResponse.setDateHeader("Max-Age", System.currentTimeMillis() + 604800000L);

        chain.doFilter(request, response);
    }
}

これFilterは、Google 監査ツールに表示されなくなったため、すべての JavaScript ファイルで機能します。しかし、画像のリストとメインの JSP ファイルは取得できます。それらのキャッシュも有効にするには、他にどのヘッダーを設定する必要がありますか?

これはRequest-Header画像の

Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:entries=20; JSESSIONID=fSSOjMOknqW4yk0bH1Nxy2Ea.undefined
Host:localhost:8080
If-Modified-Since:Mon, 13 Aug 2012 12:52:32 GMT
If-None-Match:W/"1685-1344862352945"
Referer:http://localhost:8080/SSIS2_JBoss7/View/PackageManagement/Packages.jsp
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.79 Safari/537.1

そしてResponse-Header画像の:

Cache-Control:private
Date:Thu, 16 Aug 2012 08:33:05 GMT
ETag:W/"1685-1344862352945"
Expires:Thu, 23 Aug 2012 08:33:05 GMT
Max-Age:Thu, 23 Aug 2012 08:33:05 GMT
Pragma:No-cache
4

1 に答える 1

0

すべての画像とメインのJSPファイルをキャッシュするには、次の行を追加する必要がありました。

httpResponse.setHeader("Pragma", "private");
于 2012-08-16T08:51:52.470 に答える