我有一个用django-tastypie
开发的REST api。我有一些资源非常繁重但不可变,所以我希望浏览器缓存它们以避免不必要的请求。
我已将HTTP Expire
标题设置为将来两年的日期,这就是浏览器获取的内容:
HTTP/1.1 200 OK
Date: Wed, 16 May 2012 17:29:33 GMT
Server: Apache/2.2.14 (Ubuntu)
Vary: Cookie,Accept-Encoding,User-Agent
Expires: Tue, 06 May 2014 17:29:33 GMT
Cache-Control: no-cache, public
Content-Encoding: gzip
Access-Control-Allow-Origin: *
Content-Length: 1051
Keep-Alive: timeout=15, max=82
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
我正在使用jQuery.ajax
发出请求。 expires标头看起来不错,但每次刷新页面时都会发出请求。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果此内容可以更改,请尝试在jQuery.ajax中使用ifModified:true
答案 2 :(得分:0)
在.ajax调用中,将cache:属性设置为true,如下所示:
$。AJAX({ url:postUrl, 类型:'POST', cache:true,/ *默认情况下这应该是true,但在你的情况下我会检查这个* / 数据:东西 });