컴퓨터 공부/JAVA Web
세션(Session)
구깨비
2021. 8. 9. 23:10
세션 | 쿠키 |
웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개 | |
서버의 메모리에 생성 | 웹 페이지들의 정보가 클라이언트 pc에 저장되어 정보가 쉽게 노출 |
* 세션의 특징
- 각 브라우저 당 한 개, 즉 사용자당 한 개 생성
- 정보가 서버의 메모리에 저장
- 쿠키보다 보안에 유리
- 서버에 부하를 줄 수 있음
- 세션은 유효 시간을 가짐(기본 30분)
- 로그인 상태 유지 또는 쇼핑몰의 장바구니 담기 기능등에 주로 사용
* 세션 기능 실행 과정
1. 클라이언트의 브라우저가 서버에 최초 접속시 서버의 서블릿은 세션 객체를 생성
2. 세션 객체에 대한 세션 id를 브라우저에 전송
3. 브라우저는 서버로부터 전달받은 세션 id를 세션쿠키에 저장
[ 즉, 서버로부터 전송된 세션id도 쿠키 ]
4. 재접속하여 세션 쿠키에 저장된 세션 id를 다시 서버로 전송하면 서버에서는 전송된 세션 id를 이용해
세션 객체에 접근하여 브라우저에 대한 작업을 수행합니다.
* 세션 API
- HttpServletRequest의 getSession() : 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성
getSession(true) : 기존의 세션 객체가 존재하면 반환하고, 없으면 새로 생성
getSession(false) :기존의 세션 객체가 존재하면 반환하고, 없으면 null