一尘不染

启用对指定修改日期的图像进行缓存

jsp

我有一个可加载许多图像的jsp页面。我想缓存图像以加快加载速度。

我会解释我的想法,如果错误,请更正。我正在为每个图像调用图片加载servlet,并以BLOB形式返回。我的想法是在图像和其他值(如Last-
Modified,expires,Cache-control和max age)中添加一个修改日期。从而使浏览器了解图像是否更改。

但是,如何将修改后的日期附加到BLOB?还是有一些更好的想法使它们可行?

谢谢…


阅读 182

收藏
2020-06-10

共1个答案

一尘不染

我有一个可加载许多图像的jsp页面。 我想缓存图像以加快加载速度。

这是一件好事TM。

我会解释我的想法,如果错误,请更正。 我正在为每个图像调用图片加载servlet,并以BLOB形式返回。我的想法是在图像和其他值(如Last-
Modified,expires,Cache-control和max age)中添加一个修改日期。从而使浏览器了解图像是否更改。

对于你真正需要的ETagLast- Modified以及可选Expires报头。ETag服务器和客户端都可以使用标头来标识唯一文件。您可以根据需要在每个数据库密钥下使用它。使用Last- Modified标头标头,服务器和客户端都可以知道它们是否具有相同版本的文件。使用Expires标头,您可以指示客户端下次重新请求文件的时间(因此,指定的日期Expires已过期)。

Cache-Control头不那么相关这里你只是想 允许 缓存和平均客户端已经这样做,默认情况下。

欲了解更多信息和一个servlet例如,您可能会发现这篇文章有用,也许还这篇文章对你有兴趣在一个JSP / Servlet的web应用的优化性能的情况下。

但是,如何将修改后的日期附加到BLOB? 还是有一些更好的想法使它们可行?

只需在相关数据库表中再增加一列即可代表插入日期。在大多数数据库中,您都可以now()为此使用功能,甚至可以将其创建为自动触发功能,以便在每次插入/更新时自动对其进行设置。

2020-06-10