ShallowEtagHeaderFilter是Spring提供的支持ETag的一个servlet Filter。他是一个纯粹的Filter,所以可以很容易与web框架集成。
ShallowEtagHeaderFilter将创建一些很弱的(shallow)Etag()
The
ShallowEtagHeaderFilter filter creates so-called shallow ETags (和 deep ETags相对立)。这个Filter会将JSP等的内容缓存,生成MD5的key,然后在response中作为Etage的header返回给客户端。下次客户端对相同的资源(或者说相同的url)发出请求时,客户端会将之前生成的key作为If-None-Match的值发送到server端。 Filter会客户端传来的值和服务器上的做比较,如果相同,则返回304(关于304, 请见对Http304的理解);否则,将发送新的内容到客户端。
使用方法如下:
首先将这个filter引入到系统中,和其他的,如loginFilter类似,只要在配置文件(通常为web.xml)中加入如下代码即可:
Java实现的代码如下(此段代码为Filter的实现,仅供参考,不用加到系统中)
官方文档: