프로젝트 중 로그인을 하여 서버로 부터 JSESSIONID를 부여받는 코드가 있었는데 받을 때마다 JSESSIONID가 변하는 것을 발견, JSESSIONID가 바뀌는 것에 따라 로그인 후 JSESSIONID가 요구되는 모든 요청들이 제대로 이루어지지 않았다.
백엔드 측에서는 원인을 알 수 없다 하셨고 프론트 측면에서는 로그인 요청을 제대로 보내서 응답을 받아왔기 때문에 어딘가 문제가 있을 것이라고 생각하지 않았다.. 구글링 결과 내가 내린 원인은 다음과 같다.
Same-Origin Policy가 위의 문제를 발생시켰다고 생각한다.
보안 상의 이유로 일반적으로 쿠키와 같은 것들은 다른 주소로 부터 받을 수 없다. 그렇게 때문에 브라우저는 다른 출처의 서버로부터 세션 쿠키를 제대로 전송받지 못한 것이다. 따라서 이를 해결하기 위해 프록시 서버를 사용하였다.
개발 단계에서 package.json 파일에서 "proxy":"서버주소"를 사용하여 위의 제약을 피했다.
JSESSIONID 라는 것을 처음 접해서 어디가 문제인지 한참을 헤맸는데 문제를 해결할 수 있어서 다행이다.