728x90
세션도 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법이라는 점은 쿠키와 동일하나, 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있는 반면, 세션은 서버의 메모리에 생성되어 정보를 저장함.
따라서 웹 페이지에서 사용되는 정보 중 로그인 정보처럼 보안이 요구되는 정보는 대부분 세션을 사용함.
세션은 각 브라우저당 한 개, 즉 사용자당 한 개가 생성되기때문에, 사용자의 로그인 상태나 쇼핑몰의 장바구니 담기 기능 같은 정보를 해당 브라우저의 세션에 저장해서 편리하게 사용할 수 있음.
세션의 특징
- 정보가 서버의 메모리에 저장됨
- 브라우저의 세션 연동은 세션 쿠키를 이용함
- 쿠키보다 보안에 유리함
- 서버에 부하를 줄 수 있음
- 브라우저(사용자)당 한 개의 세션(세션 id)이 생성됨
- 세션은 유효 시간을 가짐(기본 유효 시간은 30분)
- 로그인 상태 유지 기능이나 쇼핑몰의 장바구니 담기 기능 등에 주로 사용됨
세션 기능 실행 과정
- 브라우저로 사이트에 접속
- 서버는 접속한 브라우저에 대한 세션 객체를 생성
- 서버는 생성된 세션 id를 클라이언트 브라우저에 응답
- 브라우저는 서버로부터 받은 세션 id를 브라우저가 사용하는 메모리의 세션 쿠키에 저장(쿠키 이름은 jsessionId)
- 브라우저가 재접속하면 브라우저는 세션 쿠키에 저장된 세션 id를 서버에 전달
- 서버는 전송된 세션 id를 이용해 해당 세션에 접근하여 작업을 수행
각 브라우저에 대한 세션 생성 과정
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
서블릿에서 세션 API 이용하기 (0) | 2023.02.22 |
---|---|
세션 API의 특징과 기능 (0) | 2023.02.22 |
쿠키 이용해 팝업창 제한하기 (0) | 2023.02.22 |
세션 쿠키 사용하기 (0) | 2023.02.22 |
서블릿에서 쿠키 사용하기 (0) | 2023.02.22 |