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



Jetty允许使用Jetty重写功能设置头,但它似乎不是很聪明,只接受固定的字符串。

我如何告诉Jetty发送一个"8小时后过期"的标题?

使用Apache.htaccess和mod_expires,您可以进行"访问加8小时",但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过滤器,但似乎没有提供类似的动态设置头的功能。

这可能是一个不错的功能。。

在bugs.eclipse.org的RT/JJetty下打开它的增强功能。补丁是受欢迎的,要么附加到bug,要么推送到我们的gerrit实例中。

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

也许最好将其作为一个功能添加。

相关内容

  • 没有找到相关文章

最新更新