确保不缓存响应

时间:2011-08-03 13:36:13

标签: http caching cache-control browser-cache

我有一个特殊的HTTP响应,我不想缓存,因为它中有私有/敏感数据

我已将缓存控制设置为无商店,  应该处理支持HTTP / 1.1的客户端。

如何使用 Expires 标头为HTTP / 1.0执行相同的操作?我应该用1970年以后的任意时间戳设置它吗?是否有特殊值告诉它永远不要缓存?

1 个答案:

答案 0 :(得分:2)

HTTP RFC说:

  

要将响应标记为“已过期”,原始服务器会发送一个等于Date标头值的过期日期。

您应该将过期标头设置为过去的日期。您还应该在Cache-Control标头上设置must-revalidate标志。

到期日期:星期五,1990年1月1日00:00:00 GMT
缓存控制:无缓存,必须重新验证

您可以在doctype wiki上找到一篇关于缓存问题的好文章:

  

过去设置Expires标头可确保HTTP / 1.0和   HTTP / 1.1代理和浏览器不会缓存内容。该   Cache-control指令还告诉HTTP / 1.1代理不要缓存   内容。即使代理可能配置为返回陈旧内容   当他们不应该,必须重新确认他们应该重新确认   不要这样做。