是否可以配置嵌入式Jetty(v9)以仅为特定资源文件类型设置特定标头 .
目前,我没有做任何特殊的事情来处理静态资源,所以可能Jetty有一些默认的处理程序设置来做到这一点 . 是否可以使用某些自定义设置扩展或重载该默认处理程序,以便我只能为 html
文件设置 Cache-Control
标头?
我正在尝试完成类似于下面的Apache配置的东西:
<Files "*.html">
Header set Cache-Control "public, max-age=900"
</Files>
...在我的Jetty设置中:
public static void main(String[] args) throws Exception {
Server server = new Server(443);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setWar("war");
server.setHandler(webapp);
...
...
}
实际上,如果这可以在jetty.xml或其他配置文件中完成,那将是更可取的 .
2 回答
我能够在jetty-env.xml中为我的webapp使用此配置完成我想要的任务:
你的解决方案帮助我以完全嵌入的方式实现了这一点 .
我正在使用jetty 9.2.19 org.eclipse.jetty.rewrite.handler.RewriteHandler . 我将ResourceHandler包装在此RewriteHandler中以设置特定的http标头(此处为Cache-Control):