我有一个可加载许多图像的jsp页面。我想缓存图像以加快加载速度。
我会解释我的想法,如果错误,请更正。我正在为每个图像调用图片加载servlet,并以BLOB形式返回。我的想法是在图像和其他值(如Last- Modified,expires,Cache-control和max age)中添加一个修改日期。从而使浏览器了解图像是否更改。
但是,如何将修改后的日期附加到BLOB?还是有一些更好的想法使它们可行?
谢谢…
我有一个可加载许多图像的jsp页面。 我想缓存图像以加快加载速度。
这是一件好事TM。
我会解释我的想法,如果错误,请更正。 我正在为每个图像调用图片加载servlet,并以BLOB形式返回。我的想法是在图像和其他值(如Last- Modified,expires,Cache-control和max age)中添加一个修改日期。从而使浏览器了解图像是否更改。
对于你真正需要的ETag,Last- Modified以及可选Expires报头。ETag服务器和客户端都可以使用标头来标识唯一文件。您可以根据需要在每个数据库密钥下使用它。使用Last- Modified标头标头,服务器和客户端都可以知道它们是否具有相同版本的文件。使用Expires标头,您可以指示客户端下次重新请求文件的时间(因此,指定的日期Expires已过期)。
ETag
Last- Modified
Expires
该Cache-Control头不那么相关这里你只是想 允许 缓存和平均客户端已经这样做,默认情况下。
Cache-Control
欲了解更多信息和一个servlet例如,您可能会发现这篇文章有用,也许还这篇文章对你有兴趣在一个JSP / Servlet的web应用的优化性能的情况下。
但是,如何将修改后的日期附加到BLOB? 还是有一些更好的想法使它们可行?
只需在相关数据库表中再增加一列即可代表插入日期。在大多数数据库中,您都可以now()为此使用功能,甚至可以将其创建为自动触发功能,以便在每次插入/更新时自动对其进行设置。
now()