Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 浏览器未缓存资源(标题集)_Java_Http_Jsf_Caching_Header - Fatal编程技术网

Java 浏览器未缓存资源(标题集)

Java 浏览器未缓存资源(标题集),java,http,jsf,caching,header,Java,Http,Jsf,Caching,Header,我的JEE6/JSF/primefaces应用程序可以通过https(双向ssl:需要服务器和用户证书)获得。我希望浏览器缓存资源文件,所以 资源提供了标题:“缓存控制:公共,最大年龄=2592000”和“过期时间:2014年12月19日星期五07:46:27 GMT”(现在+1个月)。但是,最近的FF和IE请求 每个页面上以及每次刷新后的所有js/css/png文件(F5)。下面是我的请求和响应标题。我做错了什么 Request: GET /javax.faces.res

我的JEE6/JSF/primefaces应用程序可以通过https(双向ssl:需要服务器和用户证书)获得。我希望浏览器缓存资源文件,所以 资源提供了标题:“缓存控制:公共,最大年龄=2592000”和“过期时间:2014年12月19日星期五07:46:27 GMT”(现在+1个月)。但是,最近的FF和IE请求 每个页面上以及每次刷新后的所有js/css/png文件(F5)。下面是我的请求和响应标题。我做错了什么

Request:            GET /javax.faces.resource/primefaces.css.jsf?ln=primefaces HTTP/1.1
Accept:         text/css, */*
Referer:            https://xxxxx.yy/zz/abc.jsf?type=1
Accept-Language:    en-US
User-Agent:     Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding:    gzip, deflate
Host:           xxxxx.yy
DNT:                1
Connection:     Keep-Alive
Cookie:         ServerID=1845; JSESSIONID=Wmsmxxx!-1754822933

Response:           HTTP/1.1 200 OK
Date:               Wed, 19 Nov 2014 07:37:49 GMT
Server:             Apache
Cache-Control:      public, max-age=2592000
Pragma:             public
Expires:            Fri, 19 Dec 2014 07:46:27 GMT
Last-Modified:      Tue, 13 Nov 2012 10:02:34 GMT
X-Powered-By:       Servlet/3.0 JSP/2.2
X-Powered-By:       JSF/2.0
Keep-Alive:         timeout=15, max=100
Content-Language:   en
Connection:         Keep-Alive
Transfer-Encoding:  chunked
Content-Type:       text/css

这将取决于您为哪种类型的请求启用了缓存

检查以下两个位置以查看缓存中包含的内容 您的URL模式必须与静态内容的请求相匹配

<filter-mapping>
    <filter-name>cache</filter-name>
    <url-pattern>*.xhtml</url-pattern>
</filter-mapping>
以下是我完成此操作的详细信息:

.
希望这有帮助。

在过去的几个小时里,您一直在复制多个问题的答案。请不要那样做。你的每一个答案都应该是所问问题的答案,而不是之前答案的复制和粘贴。
if (uri.contains(".js") || uri.contains(".css") || uri.contains(".svg") || uri.contains(".gif")
                || uri.contains(".woff") || uri.contains(".png")) {
            httpResponse.setHeader("Cache-Control", "max-age=" + maxAge);
        }