3
我從Jersey @GET方法返回以下內容。它工作正常,但始終包含No-cache標頭。我想讓客戶端緩存這些數據,因爲它很少變化。設置Jersey以允許緩存?
ResponseBuilder rb = Response.ok(c);
CacheControl cc = new CacheControl();
cc.setMaxAge(60);
cc.setNoCache(false);
return rb.cacheControl(cc).build();
的迴應總是:
Server Apache-Coyote/1.1
Pragma No-cache
Cache-Control no-cache, no-transform, max-age=60
Expires Wed, 31 Dec 1969 19:00:00 EST
Content-Type application/xml
Content-Length 291
Date Tue, 16 Feb 2010 01:54:02 GMT
那我做錯了嗎?
使用Tomcat6。我會看看這個,謝謝!我在這裏瘋了! – 2010-02-16 02:36:29
也使用Spring,不知道是否重要。我沒有看到任何可以設置它的容器。儘管如此。 – 2010-02-16 02:39:00
緩存標題也可以在Spring中設置。我認爲「無緩存」通常不會默認設置。嘗試使用靜態資源先排除Tomcat。然後根據您的應用程序的複雜程度,每次剝離一層,例如1)在Spring中連接一個普通的servlet或jsp並檢查緩存控制頭; 2)暫時禁用所有過濾器;等。 – marklai 2010-02-16 03:37:15