
세션은 최초 요청과 재요청 두 가지로 나뉜다.
최초요청 때
브라우저(쿠키) -> 서버(세션)
쿠키에 세션 정보가 아직 없다.
응답할 때 서버 쪽 세션에서 세션 Id를 전달해서 브라우저 쿠키에 심어준다. SID
현 상황 내 로컬 브라우저 쿠키 값에 세션 정보의 고유한 값이 담겨 있다.
이제 재요청을 보내게 될 때 쿠키에 있는 세션정보를 같이 보내게 된다.
서버에 있는 세션의 정보와 내가 보낸 쿠키안에 있던 세션 정보가 동일하다면 그 값을 전달하게 된다.
문제는 쿠키에 있는 세션의 정보를 헤더에 담아서 요청을 보내면 개인정보가 즉, 세션에 담긴 모든 정보가 다른 컴퓨터에서 볼 수 있다.
Spring Session
모든서버에 공용 세션을 만든다.
세션에 있는 정보를 db에 담는다.
text만 저장하는데 특화된 레디스를 사용하자.
db에 세션 ID를 담는 행위.
브라우저에서 요청을 보내면 L4 switch를 통해 알맞은 서버에 넘겨 응답을 받는다. 기본적인 MSA 아키텍트
MSA
하나의 서비스가 하나의 프로젝트
'JAVA' 카테고리의 다른 글
| 400ms STW 하나가 실시간 서비스를 어떻게 멈춰세우는지 (0) | 2025.07.03 |
|---|---|
| JAVA Object 클래스 란? (0) | 2023.04.27 |
| JAVA 캐스팅을 하는 이유 (0) | 2023.04.24 |
| JAVA 변수의 종류 (0) | 2023.04.23 |
| JAVA 클래스란? (0) | 2023.04.22 |