728x90
쿠키와 세션의 차이점
- 쿠키 : 사용자의 정보를 클라이언트에 .txt로 저장
- 세션 : 사용자의 정보를 서버에 객체로 저장
세션 : 쿠키와 마찬가지로 서버와의 connection 관계를 유지하기 위해서 이용자 정보를 저장하는 객체
- 세션은 서버에서만 접근이 가능, 따라서 쿠키보다 보안성이 뛰어나다.
- 쿠키는 기본 용량이 4KB, 300개로 제한적인 반면에 세션은 데이터에 대한 제한이 없다.
세션 관련 메소드
- setAttribute() : 세션의 속성을 설정한다. ex) session.setAttribute("id", "test");
- getAttribute() : 세션의 속성을 가져온다. ex) String id = (String)session.getAttribute("id");
- getAttributeNames() : 세션에 저장되어 있는 모든 데이터의 이름을 얻어온다.
- removeAttribute() : 세션에서 특정 데이터를 제거한다. ex) session.removeAttribute("id");
- invalidate() : 세션의 모든 데이터를 삭제한다. ex) session.invalidate();
- getId() : 자동으로 생성된 세션 아이디를 얻어온다.
- isNew() : 세션이 최초로 생성되었는지 여부를 확인할 수 있다. (true, false 리턴)
- getMaxInactiveInterval() : 세션의 유효시간을 얻어올 수 있다.
* getAttribute()의 리턴타입은 Object이다. 따라서 캐스팅을 해줘야한다.
세션의 기본 유효시간은 서버에 설정되어 있으며, web.xml에 session-config 안에 session-timeout에 설정되어 있다.
* request.isRequestedSessionIdValid() : 클라이언트에 세션 ID가 유효하면 true, 없으면 false를 반환한다.
728x90