ram*_*am1 9 html browser caching
如何阻止客户端浏览器呈现页面的缓存版本,以便访问者访问页面时必须始终执行GET?
我在视图中使用Django的@never_cache装饰器,它将"Cache-Control:max-age = 0"添加到HTTP GET头.但是,当我访问该页面时(在谷歌浏览器和Firefox中,我到目前为止测试的唯一浏览器),缓存版本不可避免地呈现.(通过访问网络选项卡确认请求,报告" 200 OK(来自缓存) ".)
如果我现在单击"刷新"按钮,它将从服务器呈现新鲜内容(请求的"网络"选项卡显示" 200 OK ",标题如下所示.)
代替设置"Cache-Control:max-age = 0"我还尝试将"Expires"HTTP头参数设置为过去的日期.这也不起作用.
Request Method:GET
Status Code:200 OK
Request Headers
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
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
If-Modified-Since:Fri, 17 Feb 2012 15:25:21 GMT
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
Response Headers
Cache-Control:max-age=0
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Fri, 17 Feb 2012 15:55:11 GMT
ETag:"[removed]"
Expires:Fri, 17 Feb 2012 15:55:11 GMT
Last-Modified:Fri, 17 Feb 2012 15:55:11 GMT
Server:nginx
Transfer-Encodindg:chunked
Vary:Cookie,Accept-Encoding
X-Handled-By:127.0.0.1:8000
Run Code Online (Sandbox Code Playgroud)
Tom*_*ski 11
在您的回复中设置:
response['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
response['Expires'] = 'Fri, 01 Jan 2010 00:00:00 GMT'
Run Code Online (Sandbox Code Playgroud)
这就是Google Docs始终强制刷新页面的方式.
然后你可以玩它来找到适合你目的的理想行为.
归档时间: |
|
查看次数: |
5799 次 |
最近记录: |