쿠키
사용자의 브라우저에 저장되는 작은 데이터로 사용자가 브라우저에 다시 방문할 때 쿠키를 통해 이전 세션을 추적하여 로그인 인증, 장바구니 같은 정보를 유지할 수 있게 한다.
WHY?
- 로그인 인증, 장바구니 같은 정보를 사용자가 브라우저를 종료해도 유지하게 하기 위함
쿠키와 세션의 차이점
구분 | 쿠키 | 세션 |
저장 장소 | 클라이언트에 저장됨 | 서버에 저장됨 |
종료 시점 | 쿠키를 저장 시 설정 가능 (미설정 시 브라우저 종료시 소멸) |
브라우저를 닫으면 사라짐 |
보안 | 클라이언트에 저장되어 있기 때문에 보안에 취약하다. | 서버에 저장되어 있기 때문에 상대적으로 안전하다. |
메서드
메서드 | 반환타입 | 설명 |
getComment() | String | 쿠키의 설명 반환(사용자에게 쿠키의 목적을 알릴 때) |
getDomain() | String | 쿠키의 유효한 도메인 정보 반환 |
getMaxAge() | int | 쿠키의 유효 기간을 반환(초 단위) |
setMaxAge() | void | 쿠키의 유효 기간을 설정 |
getName() | String | 쿠키의 이름 반환 |
getPath() | String | 쿠키의 유효한 디렉터리 정보 반환 |
getSecure() | boolean | 쿠키의 보안 설정 반환(HTTPS 연결에만 전송되는지) |
getValue() | String | 쿠키에 저장된 값을 반환 |
getVersion() | int | 쿠키의 버전을 반환(0 / 1) |
setComment(String) | void | 쿠키에 대한 설명을 설정 |
setDomain(String) | void | 쿠키의 도메인을 설정 |
setPath(String) | void | 쿠키의 디렉터리 설정 |
setSecure(boolean) | void | 쿠키의 보안 설정(HTTPS 연결에만 전송) |
setValue(String) | void | 쿠키의 값을 설정 |
setVersion(int) | void | 쿠키의 버전을 설정 (0 / 1) |
쿠키 생성 방법
Cookie() 생성자
Cookie cookie = new Cookie("String key", String value);
response.addCookie(cookie);
Cookie() 생성자를 사용해 객체 생성과 동일한 방법으로 쿠키를 생성할 수 있다.
*쿠키를 생성한 후에는 반드시 response 내장 객체의 addCookie() 메서드로 쿠키를 설정해야 한다.
쿠키 정보
쿠키 객체 얻기
Cookie[] cookies = request.getCookies();
클라이언트에 저장된 모든 쿠키를 가져올 수 있다.
쿠키의 정보 얻기
for(int i=0; i<cookies.length; i++){
String name = cookies[i].getName();
String value = cookies[i].getValue();
}
getName(), getValue() 메서드를 사용해 getCookies() 메서드로 가져온 쿠키의 정보를 얻을 수 있다.
*반드시 반복문과 함께 사용해야한다.
쿠키 삭제
String id = "admin";
Cookie cookie = new Cookie("id", id);
cookie.setMaxAge(0);
response.addCookie(cookie);
setMaxAge() 메서드의 파라미터를 0으로 설정하면 쿠키의 유효 기간을 0초로 설정하여 쿠키를 삭제할 수 있다.(즉사)
'Back_end > JSP' 카테고리의 다른 글
JSP - JDBC (0) | 2024.10.31 |
---|---|
JSP - 데이터베이스 (0) | 2024.10.30 |
JSP - 세션 (0) | 2024.10.30 |
JSP - 필터 (0) | 2024.10.28 |
JSP - 예외처리 (0) | 2024.10.28 |