如何在Jetty中设置动态Expires头?

时间:2012-08-25 18:20:49

标签: jetty rewrite servlet-filters expires-header jetty-8

Jetty允许使用jetty-rewrite功能设置标头,但它看起来不是很聪明,只接受固定的字符串。

如何告诉Jetty发送“8小时过期”标题?

使用Apache .htaccess和mod_expires你可以做"access plus 8 hours"但当然Jetty不理解.htaccess文件,也不能在jetty-rewrite.xml中找到类似构造的任何信息

<Call name="addRule">
    <Arg>
        <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
            <Set name="pattern">*.png</Set>
            <Set name="name">Expires</Set>
            <Set name="value">access plus 8 hours</Set>
        </New>
    </Arg>
</Call>

这只是将文字文​​本“访问加1天”发回,当然这被客户忽略了。

可以/应该使用servlet过滤器吗? Jetty有Gzip filter,但似乎没有为动态设置标题提供类似的功能。

1 个答案:

答案 0 :(得分:1)

这可能是个不错的功能..

在RT / Jetty下的bugs.eclipse.org上打开它的增强功能。欢迎补丁,或者附加到bug或者推入我们的gerrit实例。

有人说...... jetty xml实际上是一个超过java的xml层,所以我怀疑如果你能找到它的话,你可以在java中实现这个。我认为有一个joda时间库有一个方法,你可以连接一些可以调用new DateTime()。plusHours(8)来填充该值的方法。

可能最好将其添加为功能。