쿠키(Cookie)
1) 쿠키의 개요
- 클라이언트 측에서 관리되는 정보. 쿠키는 하드 디스크에 파일로 저장되기 때문에 브라우저를 종료한다고 해서 데이터가 사라지지 않고 그 파일이 남아 있는 한 쿠키는 항상 유지된다.
쿠키는 클라이언트에서만 사용될 데이터를 보관하고 그 데이터는 보안적으로 문제를 일으키지 않는 데이터여야 한다.
2) HTTP 헤더를 이용한 쿠키 설정
Set-Cookie: name=value; expires=date; domain=domain; path=path; secure |
속성 |
설명 |
name |
쿠키 값을 설정한다. |
value |
쿠키 값을 지정한다. |
expires |
쿠키의 만료 기간을 지정한다. |
domain |
저장된 쿠키를 서버에서 전송할 때의 도메인을 지정한다. |
path |
쿠키가 전송될 서버의 URL 지정하고, 유효한 URL일 경우 전송한다. |
secure |
이 속성을 추가하면 보안적인 채널(SSL 등)로 전송되어야 한다. |
3) 서블린 API를 이용한 쿠키 설정
먼저 서블릿 API로 쿠키를 사용하기 위해서는 객체를 생성하여야 한다.
Cookie cookie = new Cookie(name,value); |
위에처럼 쿠키 객체를 생성할 경우 바로 쿠키의 이름과 값을 입력 할 수 있다. 하지만 생성하면서 값을 입력하였다고 쿠키가 메모리 또는 하드디스크에 저장되는 것이 아니다. 쿠키를 생성하였으면 생성한 쿠키를 클라이언트로 전송을 해주어야 한다.
response.addCookie(cookie) |
속성 |
설명 |
setValue(String value) |
쿠키 이름을 지정한다. |
setMaxAge(int seconds) |
쿠키 만료 기간을 지정한다. |
getValue() |
쿠키 값을 얻어온다. |
getMaxAge() |
쿠키 만료 기간을 얻어온다. |
getName() |
쿠키 이름을 얻어온다. |
[예제 7-2] cookieTest.jsp |
<%@ page
language="java" contentType="text/html; charset=EUC-KR" |
[예제 7-2] cookieTest2.jsp |
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <% </body> |