쿠키(cookie)


쿠키란

쿠키는 웹 브라우저가 보관하는 데이터이다. 웹 브라우저는 웹 서버에 요청을 보낼 때 쿠키를 함께 전송하며,
웹 서버는 웹 브라우저가 전송한 쿠키를 사용해서 필요한 데이터를 읽을 수 있다.
쿠키는 웹 서버와 웹 브라우저 양쪽에서 생상헐 수 있는데, JSP에서 생성하는 쿠키는 웹 서버에서 생성하는 쿠키이다.

쿠키 동작 방식

스크린샷 2020-02-06 오후 5 39 57

(1) 쿠키 생성 단계
쿠키를 사용하려면 먼저 쿠키를 생성해야 한다. JSP 프로그래밍에서 쿠키는 웹 서버 측에서 생성한다.
생성한 쿠키를 응답 데이터의 헤더에 저장해서 웹 브라우저에 전송한다.

(2) 쿠키 저장 단계
웹 브라우저는 응답 데이터에 포함된 쿠키를 쿠키 저장소에 보관한다.
쿠키의 종류에 따라 메모리나 파일에 저장한다.

(3) 쿠키 전송 단계
웹 브라우저는 저장한 쿠키를 요청이 있을 때마다 웹 서버에 전송한다.
웹 서버는 웹 브라우저가 전송한 쿠키를 사용해서 필요한 작업을 수행한다.

웹 브라우저에 쿠키가 저장되면, 웹 브라우저는 쿠키가 삭제되기 전까지 웹 서버에 쿠키를 전송한다.
따라서 웹 어플리케이션을 사용하는 동안 지속적으로 유지해야 하는 정보는 쿠키를 사용해서 저장하면 된다.

장점

단점

1. 쿠키의 구성

하나의 웹 브라우저는 여러 개의 쿠키를 가질 수 있는데, 각 쿠키를 구분할 때 이름을 사용한다.
각 쿠키는 값을 가지고 서버는 이 값을 이용해서 원하는 작업을 한다.

유효시간을 사용하면 웹 브라우저가 쿠키를 얼마 동안 보관할지를 지정할 수 있다.
예를 들어 쿠키 유효 시간을 1시간으로 지정하면 1시간 뒤에 웹 브라우저가 해당 쿠키를 삭제하고
별도의 유효 시간을 지정하지 않으면 웹 브라우저를 종료할 때 쿠키를 함께 삭제한다.
유효 시간에 따라 브라우저를 종료해도 계속 남아 있을 수 있다.
또한, 지정한 도메인이나 경로로만 쿠키를 전송하도록 제한할 수 있다.

2. 쿠키의 종류

3. 쿠키 생성, 변경, 삭제 등

쿠키 사용 방법은 책 참고!

4. 쿠키를 사용한 로그인 상태 유지

쿠키를 이용하면 다음과 같은 방법으로 로그인 상태를 유지할 수 있다.
(1) 로그인에 성공하면 특정 이름을 갖는 쿠키를 생성한다.
(2) 해당 쿠키가 존재하면 로그인한 상태라고 판단한다.
(3) 로그아웃하면 해당 쿠키를 삭제한다.

예를 들어, 로그인에 성공하면 “AUTH”라는 쿠키를 생성하고,
“AUTH” 쿠키가 존재하면 로그인한 상태라고 인식하는 것이다.