Notice
Recent Posts
Recent Comments
Link
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 개발 일상 기록

[Tomcat] JSESSIONID 본문

Spring

[Tomcat] JSESSIONID

느린 거북이 2022. 3. 24. 07:53

JSESSIONID

 

Session에 대해서 문득 궁금한 부분이 생겼습니다. 만약 사용자 A와 사용자 B가 있다고 한다면 로그인이 된 상태에서 서버는 Session의 정보에 담긴 각 사용자에 대한 로그인 아이디를 HttpSession.getAttribute("userId") 이와 같은 방식으로 정보를 조회를 하는데 과연 어떤 방식을 통해 각 사용자 Session을 구분해서 정보를 가지고 오는 걸까라는 궁금증이 생겼습니다. 구글링을 통해 JSESSIONID를 통해 각 브라우저의 Session을 구분해서 정보를 조회 할 수 있다고 알게되었습니다.

 

JSESSIONID란?

 

Tomcat 컨테이너에서 세션을 유지하기 위해 발급하는 키로 HTTP 프로토콜은 무상태(stateless) 하기 때문에 요청 시 마다 새로운 연결이 생성되고 응답 후 연결은 끊어지게 되므로 상태를 유지할 수 없게 됩니다. 상태를 저장하기 위해서 Tomcat은 JSESSIONID 쿠키를 클라이언트에게 발급해주고 이 값을 통해 세션을 유지할 수 있도록 해줍니다.

 

쿠키 형태로 전송되는 JSESSIONID 동작방식

 

각 사용자가 브라우저를 통해 웹 페이지 URL 입력 후 서버에 요청을 한다면 서버에서 요청한 사용자가 최초 요청했다고 판단되면 JSESSIONID 값을 사용자에게 전달해줍니다. 전달된 JSESSIONID 값은 쿠키 형태로 사용자의 매번 요청때마다 서버에 전달하게 됩니다. 사용자에게 전달 받은 JSESSIONID 값으로 동일한 사용자의 요청인지를 판단하여 사용자 정보를 유지할 수 있게 됩니다.

 

 

 

Comments