重定向后,Chrome和Safari会显示缓存页面

时间:2014-12-27 02:12:59

标签: javascript html webkit

我有一个登录表单(POST,https),用于在成功登录后将用户重定向到页面。 (这是通过nodejs express中的302重定向完成的)

下一页可以缓存很长时间。

在Firefox和资源管理器中,下一页从缓存中加载。

在Safari和Chrome中,下一页是从服务器加载的。

我希望Chrome和Safari也从缓存中加载此页面。 (js和css等子资源从所有浏览器的缓存中加载)

下一页的标题是:

Cache-Control:private, max-age=2592000
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Sat, 27 Dec 2014 00:27:03 GMT
Strict-Transport-Security:max-age=31536000; includeSubDomains
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Content-Type-Options:nosniff
X-XSS-Protection:1; mode=block

(我也有一套饼干)

如果我在第二页打开javascript控制台,请输入

document.location='/secondPage';

页面从缓存中加载。

你对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

错误的解决方法是返回一个类似于Chrome和Safari的html文档,而不是帖子后面的重定向:

<html><head><script>document.location='/secondPage';</script></head></html>

通过这种方式,第二页从缓存中获取。