如何检测客户端何时点击F5 /刷新?是否有任何标头发送到服务器,以表明我可以抓住?我正在做一些服务器端缓存,我想在检测到刷新时自动使缓存失效。感谢。
答案 0 :(得分:1)
ETag可能是更正确的解决方案,但只需查找Cache-Control
标头即可,因为浏览器将使用它来指示不应使用缓存。
Chrome会发送Cache-Control: max-age=0
,但其他一些浏览器会发送Cache-Control: no-cache
。您可能希望在您无法识别的任何缓存控制标头上使缓存过期。
甚至:
if any(i.lower().startswith('cache-control:') for i in self.headers): #...
答案 1 :(得分:0)
我要看ETags and conditional cache validation requests。
如果浏览器发送If-None-Match
标头,则他们有一个缓存副本,并想看看他们是否可以重复使用它。而不是发送304 Not Modified,而是清除缓存,生成完整的200 OK响应并设置新的ETag标头。