首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Servlet响应ETag缓存

Servlet响应ETag缓存
EN

Stack Overflow用户
提问于 2013-12-07 16:20:39
回答 2查看 1.8K关注 0票数 0

我希望使用ETag缓存请求的版本,并返回304未修改的响应给客户端,以便客户端可以使用最后缓存的页面。

所以我的url是这样的,它返回一个json响应。

代码语言:javascript
复制
"http://server/WEB_GWT/prmCall?prmName=PRM_SIS_PROG_REG_STATUS"

在我的servlet处理此请求时,我总是将ETag信息存储为url param PRM_SIS_PROG_REG_STATUS.的版本。因此,返回到客户端的响应头是

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Sat, 07 Dec 2013 16:07:49 GMT
Server: IBM_HTTP_Server
ETag: "5"
Last-Modified: Sat, 07 Dec 2013 16:07:49 GMT
Content-Length: 356
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive
Content-Type: application/json
Content-Language: tr-TR

在我的下一个请求中,我期望这个请求头包含“如果-没有匹配”的标题来返回请求的版本,但是我不能得到这个标题param。知道我为什么不能拿回我的ETag了吗?

我的下一个请求头是

代码语言:javascript
复制
 GET /OZU_GWT/prmCall?prmName=PRM_SIS_PROG_REG_STATUS HTTP/1.1
Host: 10.100.199.103
Connection: keep-alive
Cache-Control: max-age=0
If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36
Accept: */*
Referer: http://10.100.199.103/OZU_GWT/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: JSESSIONID=0000kvocMBmjoWPbpKt_VAsDUMv:-1
EN

回答 2

Stack Overflow用户

发布于 2013-12-09 03:49:14

要缓存请求,您需要包括“缓存-控制”指令,并指定缓存响应的方式和时间。

HTTP/1.1 200正常 日期:2013年12月7日星期六16: 07 :49格林尼治时间 服务器: IBM_HTTP_Server ETag:"5“ 缓存-控制:公共,最大年龄=86400 内容长度: 356 保持活力: timeout=10,max=99 连接:保持-活着 内容-类型:应用程序/json 内容-语言: tr-TR

在这里,缓存控制头表示内容可以由“公共”缓存服务器存储,在此之后它需要重新验证内容的持续时间为86400秒。因此,当您再次刷新页面时,"If-None-Match“和”If-修改--因为“条件标头将启动并使用缓存的数据。

票数 1
EN

Stack Overflow用户

发布于 2013-12-09 14:45:22

经过一些调查后,我发现SmartGWT框架请求被发送到服务器,它使用旁路cache :true标志发送我的xhr请求,而没有任何缓存头。我设法通过重写DataSource类中的以下方法来修复它。

代码语言:javascript
复制
@Override
protected Object transformRequest(DSRequest dsRequest) {
    dsRequest.setBypassCache(false);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20443592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档