Я настраиваю компонент фильтра для вставки заголовков управления кешем. Это работает нормально, за исключением того, что в какой-то момент после фильтра вставляются дополнительные заголовки управления кешем.Spring Boot - Duplicate Headers
Я использую весенний ботинок.
Любые идеи о том, что может быть причиной проблемы?
public class CacheControlFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
Calendar expires = Calendar.getInstance();
expires.add(Calendar.HOUR, 24);
HttpServletResponse httpResponse = (HttpServletResponse) response;
// Returns false
System.out.println("==========> " + httpResponse.containsHeader("Cache-Control"));
httpResponse.addHeader("Cache-Control", "max-age=" + (expires.getTimeInMillis()/1000));
httpResponse.addDateHeader("Expires", expires.getTimeInMillis());
chain.doFilter(request, response);
}
}
См дублирующиеся заголовки управления кэшем:
HTTP/1.1 200 OK
...
Cache-Control: max-age=1411755690
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: Fri, 26 Sep 2014 18:21:30 GMT
Expires: 0
Pragma: no-cache
Content-Type: image/png
...
Вместо того, чтобы отключить все заголовки Spring Security, вы можете сократить их, так что вы все равно получите другие заголовки в то время как подключая свои собственные элементы управления кешем. Подробнее см. Http://docs.spring.io/spring-security/site/docs/3.2.5/reference/htmlsingle/#default-security-headers. – gregturn
Ссылка на весенние документы больше не работает. Я думаю, что сейчас это хорошо: http://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#default-security-headers –
Это решение отключает все заголовки от Spring Security , –