我可以缓存一个HTMLIMG,它的源代码指向一个正在动态生成它的Javaservlet吗?

我可以缓存一个HTMLIMG,它的源代码指向一个正在动态生成它的Javaservlet吗?,java,html,servlets,Java,Html,Servlets,在我的项目中,我们使用了一些这样的img标签 <img src="url to java servlet?parameters"> 这一切都很好,但有没有办法在浏览器中缓存该图像,因为它不会像常规url图像那样自动缓存该图像。如果自,过期后修改,servlet应该为提供逻辑。请参阅方法。如果自以来进行了修改,过期逻辑,您的servlet应该为提供逻辑。请参阅方法。请参阅 如果自和/或ETag请求后进行了修改,您希望输出合适的缓存控制标头和/或句柄。请参阅 如果自和/或ETag请求被

在我的项目中,我们使用了一些这样的img标签

<img src="url to java servlet?parameters">

这一切都很好,但有没有办法在浏览器中缓存该图像,因为它不会像常规url图像那样自动缓存该图像。

如果自,
过期后修改,servlet应该为
提供逻辑。请参阅方法。

如果自
以来进行了修改,
过期
逻辑,您的servlet应该为
提供逻辑。请参阅方法。

请参阅

如果自和/或ETag请求后进行了修改,您希望输出合适的缓存控制标头和/或句柄。

请参阅


如果自和/或ETag请求被修改,您希望输出合适的缓存控制标头和/或句柄。

您需要在响应上至少设置、和标头。
ETag
标题应表示基于文件名、文件大小和上次修改的时间戳组合的文件的唯一标识符。
Last Modified
头应表示文件的上次修改时间戳。
Expires
头应通知客户端允许文件在缓存中保留多长时间

如果客户端的缓存已过期,并且
ETag
上次修改的
可用,则客户端将发送
HEAD
请求,以检查文件是否需要续订。如果没有,则
过期
将再次相应地延迟

您可以在这里找到一个servlet示例来处理这一切(并下载简历和自动GZIP):


但是,如果您的文件已经在磁盘文件系统上可用(而不是在数据库中),那么您应该考虑将作业委派给Servlet容器的内置默认servlet。另请参见。

您至少需要在响应上设置、和标题。
ETag
标题应表示基于文件名、文件大小和上次修改的时间戳组合的文件的唯一标识符。
Last Modified
头应表示文件的上次修改时间戳。
Expires
头应通知客户端允许文件在缓存中保留多长时间

如果客户端的缓存已过期,并且
ETag
上次修改的
可用,则客户端将发送
HEAD
请求,以检查文件是否需要续订。如果没有,则
过期
将再次相应地延迟

您可以在这里找到一个servlet示例来处理这一切(并下载简历和自动GZIP):


但是,如果您的文件已经在磁盘文件系统上可用(而不是在数据库中),那么您应该考虑将作业委派给Servlet容器的内置默认servlet。另请参见。

HTTP响应的内容类型是什么?HTTP响应的内容类型是什么?
response.getOutputStream().write(imageBytes);