gpt4 book ai didi

tomcat - 页面未在浏览器中缓存

转载 作者:行者123 更新时间:2023-11-28 22:11:24 28 4
gpt4 key购买 nike

我正在使用 apache tomcat 服务器并有一个 Web 应用程序呈现多个 js、css 和图像文件。我想确保这些文件被浏览器缓存,这样它们就不会每次都被请求。但是,我注意到有些文件正在被缓存,而另一些则没有。我发现应用程序的响应 header 已过期:“1969 年 12 月 31 日晚上 7:00”。经过this我从成功删除 header 的 web.xml 中删除了 tomcat 安全约束。我还在我的应用程序中将 Expires header 配置为从现在起 1 周。这也不能确保页面被缓存。

在此之后,我将 Cache-Control header 配置为 public,并将 max-age 设置为 1 周。这些变化都没有帮助我。此外,缓存和未缓存的页面具有相同的 header ,如下所示:

HTTP/1.1 200 OK
Cache-Control: max-age=604800, public
ETag: 240983
Last-Modified: Fri, 09 Sep 2016 18:49:42 GMT
Date: Wed, 01 Feb 2017 07:34:25 GMT
via: HTTP/1.1 ab-d-klt-tom1
Expires: Wed, 08 Feb 2017 07:35:29 GMT
Content-Type: application/x-javascript
Transfer-Encoding: chunked
Content-Encoding: gzip
Vary: Accept-Encoding
X-FRAME-OPTIONS: SAMEORIGIN
X-Powered-By: Servlet/3.0
X-UA-Compatible: IE=edge
Server: Apache

除此之外,我还尝试了 ExpiresFilter,如 here 所述没有任何运气。

编辑:当我的应用程序部署在带有 Tomcat 且没有 SSL 的 Windows 环境中时,它成功地缓存了浏览器中的所有文件。

但是,当应用程序部署在带有 Tomcat 的 Linux 环境中时,SSL 不会缓存文件。是 SSL 造成的吗?

最佳答案

您需要消除 SSL 证书错误。 Chrome 不会缓存出现此类错误的资源。

有关更多信息,请查看下面的 Chromium 问题:

关于tomcat - 页面未在浏览器中缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41976435/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com