강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김만재님의 프로필 이미지
김만재

작성한 질문수

스프링 MVC-2 Session

작성

·

367

0

session.PNG

안녕하세요 김영한 선생님 좋은 강의 항상 감사드립니다.

MVC-2 강의자료 35페이지에 나와있는 부분을 공부하다가 질문드려요

제가 이해한 내용이 맞으면, 1번은 서버가 클라이언트와 연결된 세션을 생성 혹은 가져오는 과정이고, 2번은 서버가 클라이언트의 세션에 로그인 정보를 넣어주는 과정으로 이해했습니다.

session 강의 내용 앞 부분에서, 서버 쪽에서도 session을 별도로 저장해줘야한다고 말씀해주셨는데요, 강의 예제는 서버의 메모리에 클라이언트의 세션이 자동으로 저장되는 것인가요?

그리고 실무에서는 redis 데이터베이스를 많이 사용한다는데, 이 경우에는 db에 세션을 저장하는 코드를 추가적으로 적어야할 것 같다는 생각이 듭니다. 혹시 맞을까요?

마지막으로 앱 개발에서도 세션방식으로 인증 가능할까요?
아시겠지만, 앱에는 쿠키라는 개념이 없습니다.
이 경우, 토큰을 활용해서 세션id를 주고받으면 될 것 같은데 실무에서도 이런 방식으로 구현을 하는지 궁금해서 질문드렸습니다.

강의 내용을 벗어나는 질문들이 있지만,, 답변주시면 감사하겠습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

질문에 대한 답변드리겠습니다.
1번과 2번에 대한 이해는 맞으시나, 세션에 저장되는 값은 대부분 서버 메모리에 저장이 됩니다. 실제로 세션에 저장된 값은 서버 메모리와 동기화하여 사용하게 됩니다.

실무에서는 Redis와 같은 In-memory DB나 MongoDB를 사용하여 세션을 관리하곤 합니다. 이러한 DB를 사용하면 서버 재시작 등으로 인해 세션이 유실되는 상황을 방지하고 고속 처리도 가능합니다.

앱 개발에서도 세션 방식으로 인증 가능합니다. 앱에서는 쿠키 대신에 토큰을 사용하여 인증을 관리하며, 토큰에는 세션에서와 같이 인증 정보가 담깁니다.

질문이 어려우시겠지만, 세션과 관련된 개념을 이해하시는 것이 중요합니다. 부족한 답변이었을 수도 있지만, 참고하셔서 도움이 되기를 바랍니다. 감사합니다.

김만재님의 프로필 이미지
김만재

작성한 질문수

질문하기