JSP/COOKIE
cookie
GAWON
2023. 5. 24. 09:15
서버(제공함)
클라이언트는 사용자(제공받음)
쿠키는 클라이언트 즉 사용자가 관리하는 정보이다
보안에 취약하여 중요정보는 세션으로 관리한다
javax.servlet.http 패키지의 Cookie 클래스 사용한다 팬텀♡
1. 쿠키 (Cookie)
1) 클라이언트(웹 브라우저)가 관리하는 정보
(1) 쿠키는 클라이언트가 관리, 세션은 서버가 관리
2) javax.servlet.http 패키지의 Cookie 클래스 사용
3) 보안에 취약 (중요 정보는 세션으로 관리)
4) 구성 요소 : 이름, 값, 유효기간
5) 동작 방식
- 웹 브라우저의 정보(쿠키)를 웹 브라우저에 저장하므로,
이후에 서버로 전송되는 요청에는 쿠키가 가지고 있는 정보가 같이 포함돼 전송된다.
이때 웹 서버는 웹 브라우저의 요청 속에 포함되어 있을 쿠키를 읽어서
새로운 웹 브라우저인지 이전에 요청을 했던 웹 브라우저인지를 판단할 수 있다.
(1) 쿠키 생성 = 웹 서버에서 쿠키를 생성하고 쿠키에 응답데이터를 담아서 웹 브라우저에 전송한다.
요청
웹 브라우저 ──────────> 웹 서버
<──────────
(쿠키) 응답
(2) 쿠키 저장 = 웹 브라우저는 응답 데이터를 담고있는 쿠키를 메모리나 파일로 저장한다.
웹 브라우저 웹 서버
(쿠키)
(3) 쿠키 전송 = 웹 브라우저는 쿠키를 요청이 있을 때마다 웹 서버에 전송한다.
(쿠키)요청
웹 브라우저 ──────────> 웹 서버
<──────────
응답
6) 활용
(1) 아이디 기억하기
(2) 팝업 창 : 오늘 이 창을 다시 보지 않음
7) 주요 메소드
(1) void addCookie(String) : 쿠키 추가하기
(2) Cookie[] getCookies() : 전체 쿠키 가져오기
(3) void setValue(String) : 쿠키 값 저장하기
(4) String getValue() : 쿠키 값 가져오기
(5) String getName() : 쿠키 이름 가져오기
(6) void setDomain(String) : 쿠키 도메인 지정하기
(7) String getDomain() : 쿠키 도메인 가져오기
(8) void setPath(String) : 쿠키 전송 경로 지정하기
(9) String getPath() : 쿠키 전송 경로 가져오기
(10) void setMaxAge(int) : 쿠키 유효시간 지정하기
(초 단위, -1: 브라우저 종료 시점까지) --> 삭제가 없으므로 유효시간을 0으로 하면 삭제됨
(11) int getMaxAge() : 쿠키 유효시간 가져오기
8) 쿠키 확인 (크롬 기준)
설정 - 개인정보 및 보안 - 사이트 설정 - 쿠키 - 모든 쿠키 및 사이트 데이터 보기 - localhost 검색