728x90
Session
- 서버에 클라이언트 상태 정보를 보관할 때 사용
- 쿠키는 웹 브라우저에 정보를 보관하고 세션은 서버에 정보를 보관함
- 서버는 기본적으로 하나의 웹 브라우저마다 한 세션을 생성함
- 세션이 쿠키보다 보안적으로 더 좋음
세션 생성
<%@ page session="true" %>
- page 지시자 session 기본값은 true이므로 session 속성을 false로 지정하지 않으면 세션 생성
- 세션을 사용하는 서버 프로그램은 웹 브라우저가 처음 접속할 때 세션을 생성, 이후 기존에 생성된 세션 사용
세션 아이디를 통한 클라이언트 인증
- 컨테이너는 브라우저에서 요청이 들어오면 session 객체 생성
- 세션이 생성되면 session 기본 객체를 통해 세션 사용 가능
- 브라우저의 고유 식별자 ID를 받아서 같이 식별자를 가진 session 객체가 있으면 해당 객체 가져다 쓰고 없으면 새로 만들어줌
- session 객체를 계속 보관하고 있다가 유효시간이 지나면 무효화를 시키고 무효화가 되기 전이라면 기존 session 객체가 남아있으므로 이미 인증이 된 클라이언트가 맞는지 구분할 수 있게 됨
- 새로 생성된 객체는 isNew() 메소드에서 true를 반환하지만 만약 한번이라도 다른 JSP 페이지나 서블릿을 거쳐서 왔다면 이미 세션이 생성된 상태가 되어 false를 반환하게 되므로 사용시 주의!!
- session 기본 객체는 속성을 제공하므로 setAttribute(), getAttribute() 등의 메서드를 사용하여 속성값을 저장하거나 읽어올 수 있음
- 세션 ID
- 웹 브라우저마다 생성되는 별도의 세션을 구분하기 위한 세션 고유 ID
- JSESSIONID
- 웹 서버와 웹 브라우저가 세션 ID 공유하기 위해 사용하는 쿠키
- 웹 서버는 세션 ID 이용해서 웹 브라우저를 위한 세션을 찾음
- JSESSIONID를 통해 세션 ID 공유
'JSP&Servlet' 카테고리의 다른 글
JSP&Servlet - Servlet(서블릿) (0) | 2022.11.18 |
---|---|
JSP&Servlet - Application (0) | 2022.11.18 |
JSP&Servlet - Foward, Redirect (0) | 2022.11.18 |
JSP&Servlet - Action Tag(액션 태그) (0) | 2022.11.18 |
JSP&Servlet - Directive (0) | 2022.11.18 |
댓글