본문 바로가기

Trouble Shooting

[Spring Boot] 인터넷 익스플로러 API 호출 캐싱관련 이슈(Internet Explorer caching api calls issue) 해결 방법

 

문제 발생

비동기로 동작하는 API의 요청으로 특정 값을 바꿨을 때, DB는 바뀌었는데 브라우저에서는 계속 변경 전 값만 보이는 이슈가 발생했다.

특이한 점은 Chrome, Edge 모두 정상 동작했지만, Internet Explorer(IE)만 이 현상이 발생했다는 점이다.

몇 번 이슈를 재현해보니, IE에 캐싱 때문에 이런 이슈가 발생한 것을 알았다.

해결 방법

처음에는 프론트에서 해결할 수 있을 줄 알았는데, 아니었다.

응답을 보내주기 전에 아래 코드를 추가해 주면 된다.

public anyDto anyMethod(..., HttpServletResponse response) {

    //someting
				
    response.setHeader("Cache-Control","no-store"); // 추가

    return anyDto;
}

no-store과 no-cache의 차이점은 여기에 자세히 설명이 되어있다.