gpt4 book ai didi

java - Spring Boot - 重复 header

转载 作者:行者123 更新时间:2023-11-30 08:20:27 36 4
gpt4 key购买 nike

我设置了一个过滤器 bean 来插入缓存控制 header 。这工作正常,除了在过滤器之后的某个时刻,插入了额外的缓存控制 header 。

我正在使用 Spring Boot。

关于可能导致问题的原因有什么想法吗?

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);
}
}

查看重复的缓存控制 header :

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 在使用 Java 配置时默认添加了它们。以下是如何禁用它们:

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
// ...
.headers().disable();
}
}

关于java - Spring Boot - 重复 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26045569/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com