본문 바로가기
Today I learned

2020년 07월 17일 금요일

by soheemon 2020. 7. 17.

object 캐시

오늘 새로운 문제를 경험했다.

ajax로 서블릿에 요청을 보내면 서블릿은 세션에서 데이터를 꺼내서 맵으로 반환해주는 구조인데

자꾸 응답이 캐시되어서 오는것이 문제였다.

분명 세션에서 데이터를 꺼내올 뿐인데 캐시되어오는게 너무 이상했다.

또 개발서버는 재현이 안되는데 스테이징계랑 운영에 문제가 발생해 서 골머리를 앓았다.

js파일에서 ajax 를 날리니까 js가 캐시된건가 싶어 운영쪽 cdn에 올라가있는 파일을 로컬서버에 넣고 테스트해봐도 재현이 안되고.. ajax도 캐시된 데이터를 반환하나 싶어서 ajax옵션을 보니 이미 해당 코드 ajax에 cache false가 있었다.

(이전 개발자도 동일한 문제를 겪은것으로 보이는데 주석 한 줄 없다니.. )

response헤더에 was캐시헤더가 true로 되어있어서 설마설마 했는데 역시나 문제는 was쪽 캐시설정이였다. 세션데이터를 가져오는 클래스의 object를 캐시하도록 설정되어있었다...  개발서버는 캐시를 안쓰고있어서 증상이 없었던거고 스테이징이랑 운영은 캐시를 사용하고있어서 증상이 있었던것.. 이것때문에 꽤 오래 마음고생 했었는데 원인을 찾아서 다행이다.

헤더에 대해 조금더 관심을 가지고 공부해야겠다.

'Today I learned' 카테고리의 다른 글

JAVA Exception 처리  (0) 2020.07.27
2020년 7월 20일  (0) 2020.07.20
2020년 07월 16일 목요일  (0) 2020.07.16
vue.js 코딩공작소 책 요약(3)  (0) 2020.07.16
브라우저 밖으로 나온 자바스크립트 - 웹팩 (2)  (0) 2020.07.15

댓글