单个网页缓存预防

时间:2015-09-11 14:35:36

标签: javascript c# html css web

是否可以创建一个基本的单页网页,而​​不会存储到用户的浏览器缓存中?

或者

是否可以创建一个从用户浏览器缓存中删除自己的基本单页网页?

据我所知,这样的页面不能万无一失,因为用户只需截取屏幕即可捕获网页上的数据。

1 个答案:

答案 0 :(得分:0)

符合标准的浏览器(与所有主流浏览器Chrome,FF,IE,Safari一样)会尊重cache control headers而不会在指示时缓存页面。

关闭缓存应该通过发送以下带有响应的标题来完成:

Cache-Control : no-cache

由于url缓存的页面可以通过发送带有适当标头的新版本来有效地从缓存中删除页面(假设浏览器实际请求一个)。

注意事项:

  • 中间服务器(代理,CDN)可能有不同的规则,兼容代理也不会缓存标有“私有”,“无缓存”或“无存储”缓存控制标头的页面。
  • 如果页面的旧版本未指定阻止缓存的缓存控制标头,则对同一页面的请求可能无法到达服务器,因为它可以从本地浏览器缓存或代理/ CDN缓存提供。

请注意,某些浏览器(大多数浏览器的旧版本以及IE的活动版本)也可能会查看<meta>标记(例如<meta http-equiv="cache-control" content="no-cache" />)以不缓存页面,但此行为未定义在规范中,不应该依赖。此问题中的更多链接/讨论:Using <meta> tags to turn off caching in all browsers?