세션(session)은 언제 생성될까?
개요
이번 was 구현 미션을 진행하면서 세션 이용한 로그인 관리를 구현하게 되었고 구현하는 와중에 다음과 같은 궁금증이 생겼다.
- 세션에 로그인 여부를 담자!
- client가 요청시 로그인 여부를 확인해야 하니 sessionId를 cookie값으로 넘겨야 겠지?
- 그런데 세션은 언제부터 생성되는 거지??
구글링을 해보니 세션은 세션을 처음으로 필요로 하는 순간
에 생성이 된다고 한다.
그래서 세션이 언제 생성되는지를 확인하기 위해 다음과 같은 테스트를 해보기로 했다.
테스트 방식
네이버 사이트에 접속하여 언제부터 sessionId가 쿠키 값으로 내려오는지 확인한다.
cookie값 확인하는 법
chrome접속 -> F12(개발자 도구) -> application 탭의 왼쪽을 보면 각 사이트별 cookie를 확인 가능하다.
-
위 사진 처럼 현재(최초 페이지 접속 시)는 seesionId라는 쿠키값이 존재하지 않는다.
-
로그인을 해보고 쿠키 값을 다시 한번 확인해 보자
https://my.naver.com이라는 곳 안에 JSESSIONID라는 쿠키가 생성되는 것을 알 수 있다.
결론
세션은 처음 서버에 요청시 생성되는 것이 아닌 세션이 필요한 순간
(위 테스트에서는 로그인 후 로그인 여부등을 세션에 담았을 것으로 추측된다.)에 생성이 된다.