세션(Session)

jooog·2021년 12월 29일
0

스프링

목록 보기
10/26

Session의 정의

"a collection of related HTTPtransactions made by one browser to one server"
서로 관련된 개별적인 요청들을 하나로 묶은 것을 세션이라고 하며 브라우저마다 개별 저장소(session객체)를 서버에서 제공한다.

쿠키는 브라우저에 저장 / 세션은 서버에 저장된다

브라우저에서 요청을하면 서버는 응답헤더에 session 아이디를 포함해 응답한다.

서버는 JSESSIONID를 통해 같은 브라우저에서 온 요청인지 확인한다.

컨트롤러에서 세션 사용

HttpSession session = request.getSession();
session.setAttribute("id", "hello");

request 객체에서 session 객체를 확인한다.

세션 종료 방법

세션을 종료하는 방법에는 크게 두가지가 있다.

1. 수동 종료

HttpSession session = request.getSession();

//즉시 종료하기
session.invalidate();

//30분후 종료하기(시간 예약)
session.setMaxInactiveInterval(30*60);

2.자동 종료(web.xml 설정)

<session-config>
	<session-timeout>30</session-timeout>
</session-config>

세션이 종료된 후 새로 세션 객체가 만들어져 쿠키로 반환된다

쿠키와 세션의 차이

서버에 부담이 없고 서버 다중화에 유리하기 때문에 규모가 큰 사이트에서는 쿠키를 주로 사용하기도 한다.

세션 살펴보기

브라우저로 처음 접속하면 세션이 생성된다. 브라우저는 생성된 세션을 쿠키에 저장한다.

0개의 댓글