1. 쿠키 (Cookie)
- 서버에 접속시 접속한 클라이언트의 정보를 클라이언트에 저장한다.
- 이후에 서버로 전송되는 요청에는 쿠키가 가지고 있는 정보가 같이 포함되어서 전송
- 크기는 4KB이하
- 쿠키는 이름, 값, 유효기간, 도메인, 경로 등으로 구성
2. 세션 (Session)
- 웹서버 쪽의 웹 컨테이너에 상태를 유지하기 위한 정보를 저장
- 저장 데이터에 제한이 없음
- 웹서버는 각각의 웹 브라우저로부터 발생한 요청에 대하여 특정한 식별자를 부여하여 같은 브라우저인지 구별
- 세션쿠키 라고도 한다.
- 브라우저를 닫거나, 서버에서 이 쿠키를 삭제 했을때만 삭제가 되므로 비교적 persistent 쿠키보다 안전하다고 볼수 있다.
**공통점
- 고객 정보(접속한 유저)를 저장하는 매체이다.
- 유저끼리 서로 간섭을 못한다.(접근 권한 불가능)
**차이점
- 쿠키
1. 클라이언트측 저장
2. 문자열 저장용이다. (자료형이 존재하지 않고, 텍스트 파일만 가능하다)
3. 만료 시간 지정이 가능하다.(장기 보관이 가능하고 재접속시에도 유지된다.)
- 세션
1. 서버측 저장
2. 모든 타입 저장용(문자열, 객체, 기타 등등 가능)
3. 만료 시간 지정이 가능하다.(대신 접속 고객에 한해서)
**쿠키 사용
(1) 생성
Cookie cooke = new Cookie(String name, String value);
(2) 쿠키 추가(생성후에 반드시 추가)
response.addCookie(cookie);
(3) 값을 수정
cookie.setValue(newValue);
(4) 읽기
- 쿠키를 읽어 올 때
Cookie[] cookies = request.getCookies();
- 쿠키 이름 읽기
String cookies[i].getName();
- 쿠키 값읽기
String cookies[i].getValue();
(5) 쿠키의 수명(지속시간)
cookie.setMaxAge(int expiry);
**세션 사용
(1) 세션 설정
session.setAttribute("memId","test");
- 세션 속성값은 객체 형태
(2) 세션 가져오기
String id = (String)seesion.getAttribute("memId");
- 리턴 타입이 object이므로 String으로 변환
(3) 세션 속성의 이름을 반환
Enumeration names = session.getAttributeNames();
(4) 세션 삭제
session.removeAttribute("memId");
(5) 세션의 모든 속성 해제
session.invalidate();
(6) 세션의 최대 유지시간 설정(초단위 설정)
setMaxInactiveInterval(int interval);
(7) 세션의 최대 유지시간 반환
int sec = getMaxInactiveInterval();
**쿠키 사용 예제
// 여러가지 쿠키 저장 방법
//여러가지 쿠키 읽어오는 방법
**세션 사용예제
//세션 저장하는 방법
//세션 읽어오는 방법
출처 : http://egloos.zum.com/xxwony/v/27583
'JSP' 카테고리의 다른 글
MVC 디자인 패턴(Model1, Model2) (0) | 2018.11.20 |
---|---|
JSP 파일 업로드 (0) | 2018.11.16 |
JSP 표준 액션 태그 (0) | 2018.11.14 |
JSP 내장 객체 및 생명주기(Scope) (0) | 2018.11.14 |
JSP session 객체 (0) | 2018.11.14 |