我在dropwizard服务的HTTP响应中设置Vary标头时遇到了一些麻烦。
我配置了一个自定义过滤器,用于在HTTP响应中设置标头,但是dropwizard似乎覆盖了我为Vary标头设置的值。
我目前有这个:
1)自定义过滤器
environment.addFilter(CacheControlFilter.class, "/content/*");
2)此自定义过滤器设置http标头
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) servletResponse;
resp.setHeader("Cache-Control", "max-age:180");
resp.setHeader("Vary", "Accept");
}
当Cache-Control标头按预期设置时,设置Vary标头似乎没有任何效果。似乎其他东西超出了我后来在过滤器链中设置的内容。
任何想法可能是什么以及如何设置我选择的Vary标题?
我遇到过这个问题,我认为可能与我的问题有关,但还不确定。 https://github.com/dropwizard/dropwizard/issues/494
答案 0 :(得分:3)
所以这确实是由于以下问题: https://github.com/dropwizard/dropwizard/issues/494
作为临时解决方法,我们禁用了gzip过滤器,因为我们并不真正需要它。