세션이랑 토큰 공부하다가 의문이 드는게 있음
세션은 Stateful해서 시스템 확장시 세션 불일치란 단점이 있다
이에대한 대안으로 토큰을 쓰는걸로 알고 있음
근데 더 찾아보니 세션 클러스터링이 있더라고
Redis같은 세션 저장소를 따로 두고 클러스터링해서 세션불일치를 해소 할 수 있다고 봤음
코드 뜯어보니까 쿠키뿐 아니라 헤더에 세션 담아주는 방법으로도 가능하고
그러면 굳이 JWT같은 토큰 쓰는게 손해아닌가? 하는 생각이 들더라고
토큰은 탈취위험도 있고 로그아웃 할때 블랙리스트니 뭐니 이런거 골치아프던데
그럼에도 JWT같은 토큰 쓰는 이유가 뭘까?
대신 갱신이 힘들어서 세션이 만료될때마다 로그인해야하는 어려움이 생기나...
세션은 스토리지를 사용하잖아 - dc App
메모리 말하는거임 - dc App
토큰도 탈취대안으로 리프레쉬 토큰같은거 따로 저장해서 쓰지않음?
리프레쉬 토큰을 어디에 저장하냐에 다라 다르지만 DB에 저장하면 HDD에 저장하잖아 - dc App
세션도 DB에 저장하면 같은거 아님? 그럼 그냥 세션이 아니고 토큰인가 모르겠네
세션을 DB에 저장하면 인증 인가 API 요청마다 매 번 DB조회하고 response 해야 하는데 응답성이 ㅈ나 느릴것 같은데 - dc App
그리고 확장성 문제도 있고 ㅇㅇ - dc App
단순히 인증 인가 API 응답성만 느려지는거면 모르겠는데 DBMS자체의 부하가 증가함 - dc App
근데 참고로 나도 JWT쓸바엔 세션쓴다 ㅇㅇ - dc App