하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장한다.
- 종료 시점 : 브라우저 종료 시
- 내장객체로서 브라우저마다 한 개씩 존재한다.
- 고유한 sessionID 생성 후 정보를 추출한다.
장단점
- 장점
- 서버에서 접근할 수 있으므로 보안성이 좋다.
- 저장 용량의 한계가 거의 없다.
- 단점
- 서버에 데이터를 저장하므로 서버에 부하가 걸릴 수 있다.
세션 사용 방법
- 세션값 설정 :
session.setAttribute("설정이름",값);
- 세션유지시간 설정(초단위) :
- 60분 :
session.setMaxInactiveInterval(60*60);
- 무한대 :
session.setMaxInactiveInterval(-1);
- 세션에 저장된 값 획득 :
session.getAttribute("설정이름");
- 세션 삭제 :
- 특정 세션 삭제 :
session.removeAttribute("설정이름");
- 세션 전체 제거 :
session.invalidate();
서버에서 생성되어 클라이언트 컴퓨터에 저장되는 작은 정보 단위.
- 종료 시점 : 쿠키 저장 시 설정
- 서버의 응답 결과에 포함되어서 클라이언트에게 전송된다.
- 클라이언트는 서버에 다른 요청을 보낼 때 저장하고 있던 쿠키를 헤더에 포함시켜서 전송한다.
장단점
- 장점
- 클라이언트의 일정 폴더에 정보를 저장하기 때문에 서버의 부하를 줄일 수 있다.
- 단점
- 정보가 사용자 컴퓨터에 저장되기 때문에 보안이 위협받을 수 있다.
- 데이터 저장 용량에 제한이 있다.
- 과자 부스러기처럼 작은 값을 저장할 수 있다.
- 일반 사용자가 브라우저 내의 기능인 쿠키차단을 사용하면 무용지물이 된다.
쿠키 | 세션 | 쿠키 | 세션 | ||
---|---|---|---|---|---|
저장 위치 | 클라이언트 (접속자 PC) | 웹서버 | 저장 형식 | text | Object |
만료 시점 | 쿠키 저장 시 설정 | 브라우저 종료시 | 사용 자원 | 클라이언트 리소스 | 웹 서버 리소스 |
용량제한 | 총 300개 | 서버가 허용하는 용량제한 | 속도와 보안 | 비교적 빠름 비교적 위험 | 비교적 느림 비교적 안전 |