본문 바로가기
프로그래밍/JSP

Cookie 개념

by minNa2 2023. 5. 19.

- 클라이언트 : 제공받는(사용자)
- 서버 : 제공하는

- 쿠키, 세션 차이점 : 쿠키는 클라이언트가 관리, 세션은 서버가 관리

- 클라이언트가 방문하면 자기 서버의 쿠키를 갖고 있는지 확인함
- 쿠키가 남아있으면 보여줄 정보가 클리이언트한테 이미 있으니까 서버가 따로 할 일이 없어서 속도가 더 빨라짐

 


 

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 검색
반응형

'프로그래밍 > JSP' 카테고리의 다른 글

JSTL 개념  (0) 2023.05.19
EL 개념  (0) 2023.05.19
Action Bean 개념  (0) 2023.05.19
Servlet 개념  (0) 2023.05.19
JSP 개념  (0) 2023.05.19