是否可以清除所有网站缓存?我希望在用户注销或会话过期时执行此操作,而不是指示浏览器不在每个请求上缓存。
答案 0 :(得分:3)
据我所知,没有办法指示浏览器清除它为您的网站缓存的所有页面。当浏览器尝试访问该页面时,您作为网站作者的唯一控件就是对页面进行缓存。您可以使用Expires
标头指定页面的缓存版本在特定时间到期,但即使这样,浏览器也不会在当时从其缓存中清除页面。
答案 1 :(得分:2)
我当然希望不会 - 这会让网站对客户端机器产生破坏性的威力!
答案 2 :(得分:1)
如果安全是您的主要关注点,为什么不使用HTTPS?浏览器不会缓存通过HTTPS接收的内容(或仅将其缓存在内存中)。
答案 3 :(得分:1)
模仿这种方法的一个棘手方法是在引用网站上任何静态内容时将session-id作为参数包含在内。当用户建立会话时,由于包含此参数,浏览器将所有内容识别为新内容。在会话期间,浏览器将在其缓存中使用静态内容。用户注销并重新登录后,静态内容的session-id参数将不同,因此浏览器会识别出这是一个全新的内容,并会再次下载所有内容。
有人说......这是一个黑客,我不建议追求它。你想要什么原因在会话到期后清除用户的缓存?可能有一个更好的解决方案,可以适应您的情况,而不是您目前要求的。
答案 4 :(得分:0)
如果您正在谈论asp.net缓存对象,可以使用:
For Each elem As DictionaryEntry In Cache
Cache.Remove(elem.Key)
Next
从缓存中删除项目,但这可能不是您要完成的工作的全部范围。