【发布时间】:2023-04-08 09:43:01
【问题描述】:
我的 GAE 开发 (Java) 上有很多鼠标悬停图像。我在appspot.com 上托管了它。我得到的当前缓存控制标头 = 无缓存,重新验证。因此,当图像悬停并鼠标移出时,它会重新加载图像,然后这就是延迟的来源......
我不知道如何处理这个问题。请帮忙(Java 解决方案)?
已编辑 ==>
appengine.xml
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>s~xxxxxx</application>
<version>1</version>
<static-files>
<include path="/images/**" expiration="1d" />
<include path="/scripts/**" expiration="1d" />
<include path="/stylesheets/**" expiration="1d" />
<include path="/*.p12" expiration="1d" />
<include path="/favicon.ico" expiration="1d" />
</static-files>
<threadsafe>true</threadsafe>
<warmup-requests-enabled>true</warmup-requests-enabled>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
</system-properties>
<sessions-enabled>true</sessions-enabled>
</appengine-web-app>
部署后第一次加载图像(http://xxx.appspot.com/images/myicon.png)时,我会得到这样的东西。有 2 个缓存控制...我猜“无缓存”缓存控制取代了早期的私有缓存控制。
但是如果我再次刷新该页面,它将返回 http 1.1 304 Not Modified。
【问题讨论】:
-
我做了,但一点用都没有!
-
这些图片是静态文件吗?如果是这样,请您分享您的appengine-web.xml,以便其他人可以复制吗?如果这些文件由动态处理程序提供,请分享您的代码。
-
-
好吧,你不明白这个……举个例子。一个纯调用servername/images/image.png,这个会给出“HTTP 1.1 304 Not Modified”标头状态,缓存控制是“no-cache, must-revalidate”。