🔍 세션, Session
서버가 클라이언트의 요청을 식별하기 위해 사용하는 기술
- javax.servlet.http.HttpSession 클래스를 사용
- 서버는 클라이언트마다 세션아이디(Session ID)를 부여하고 관리함
- 세션아이디는 클라이언트에게 쿠키로 저장하도록 만듬
- 서버는 세션아이디마다 정보를 저장할 수 있는 컨텍스트 영역을 만듬 👉🏻 Session scope
- 클라이언트마다 서로 다른 정보를 저장할 수 있게 됨
➰ 세션의 동작 원리
클라이언트의 첫 요청(접속)이 들어오면 서버는 SESSION ID를 생성
서버는 SESSION ID를 저장(메모리)
- 서버는 클라이언트로 응답하면서 Set-Cookie로 SESSION ID를 추가
- 클라이언트는 쿠키로 SESSION ID를 저장
- 서버는 SESSION ID별로 세션 컨텍스트 영역을 만들고 연결해둠
- 클라이언트의 연결이 종료되면 세션 정보를 지움(자동)
✔ 톰캣 서버는 기본적으로 JSESSIONID 라는 이름으로 SESSION ID를 자동으로 발급
➰ 세션 로그인 처리
- Dynamic Web Project 생성 : Login