【发布时间】:2011-06-27 03:00:15
【问题描述】:
我想在我的网站上创建一个按钮来完全清除我的缓存。由于 Safari 和 Chrome 的功能似乎都不起作用。这可能吗?
【问题讨论】:
-
你不能,你不应该,而且你可能不需要。其他事情正在发生。
标签: php javascript cache-control browser-cache
我想在我的网站上创建一个按钮来完全清除我的缓存。由于 Safari 和 Chrome 的功能似乎都不起作用。这可能吗?
【问题讨论】:
标签: php javascript cache-control browser-cache
不可能。这会将低级功能暴露给公众访问。即使漏洞利用会简单地清空您的缓存,它仍然是不可取的。 Firefox 和 Chrome 都为此使用 shift-ctrl-del,因此以实际必须使用键盘为代价,您可以在没有安全风险的情况下做同样的事情。
【讨论】:
听起来您想清除服务器和浏览器之间的缓存数据,而不是浏览器缓存的数据。您的资源副本可能位于客户端计算机和服务器之间的计算机上,这将返回缓存的副本,而不是再次向服务器请求数据。
您应该阅读不同的缓存方法,这样您就可以将某些类型的文件设置为缓存一段时间等。首先尝试this。
我通常会设置静态资源(css、js等)进行长期缓存,但是当我对它进行更改时,我会更改URL。我通常通过重写请求 url 来做到这一点,所以 /resources/dummy/file.css 变为 /resources/file.css 并且我可以随时更改 dummy。这会暗示另一个文件(尚未缓存),但我不必重命名该文件。
RewriteRule resources/[^/]+/([^/]+)$ resources/$1
【讨论】:
非常怀疑这是可能的,而且您希望它是跨浏览器的。它会造成严重的安全漏洞被利用。
【讨论】: