相关疑难解决方法(0)

如何在所有浏览器中控制网页缓存?

我们的调查向我们表明,并非所有浏览器都以统一的方式尊重http缓存指令.

出于安全原因,我们不希望在我们的应用程序某些网页缓存,有史以来,通过Web浏览器.这必须至少适用于以下浏览器:

  • Internet Explorer 6+
  • Firefox 1.5+
  • Safari 3+
  • Opera 9+

我们的要求来自安全测试.从我们的网站注销后,您可以按后退按钮查看缓存页面.

https caching http http-headers

1474
推荐指数
17
解决办法
88万
查看次数

"Vary:Accept"HTTP标头的功能是什么?

我使用PHP生成动态Web页面.如下面的教程所述(参见下面的链接),当$ _SERVER ['HTTP_ACCEPT']允许时,XHTML文档的MIME类型应为"application/xhtml + xml".由于您可以使用2个不同的MIME("application/xhtml + xml"和"text/html")提供相同的页面,因此您应该将"Vary"HTTP标头设置为"Accept".这将有助于代理上的缓存.

链接:http: //keystonewebsites.com/articles/mime_type.php

现在我不确定:header('Vary:Accept')的含义; 我不太确定'Vary:Accept'会做什么......

我找到的唯一解释是:

在Content-Type标头之后,发送Vary标头(如果我理解正确的话)告诉中间缓存,如代理服务器,文档的内容类型根据请求文档的客户端的功能而变化. http://www.456bereastreet.com/archive/200408/content_negotiation/

任何人都可以给我一个这个标题的"真实"解释(带有该值).我想我理解的事情如下:Vary:Accept-Encoding代理上的缓存可以基于所服务页面的编码,但我不明白:变化:接受

proxy caching http

90
推荐指数
2
解决办法
7万
查看次数

使IE缓存资源但始终重新验证

缓存控制标头"no-cache,must-revalidate,private"允许浏览器缓存资源,但强制使用条件请求重新验证.这在FF,Safari和Chrome中可以正常使用.

但是,IE7 + 8不发送条件请求,即请求头中缺少"If-Modified-Since",因此服务器使用HTTP/200而不是HTTP/304进行响应.

以下是完整的服务器响应标头:

Last-Modified: Wed, 16 Feb 2011 13:52:26 GMT
Content-type: text/html;charset=utf-8
Content-Length: 10835
Date: Wed, 16 Feb 2011 13:52:26 GMT
Connection: keep-alive
Cache-Control: no-cache, must-revalidate, private
Run Code Online (Sandbox Code Playgroud)

这似乎是一个IE错误,但我没有在网上找到任何相关内容,所以我想知道是否可能缺少或存在另一个标头会让IE表现得很奇怪?

讨论no-cache和max-age 之间的区别:Cache-Control:max-age = 0和no-cache之间有什么区别?

internet-explorer cache-control browser-cache http-headers

43
推荐指数
1
解决办法
5万
查看次数