JSP

[JSP] 쿠키

shb 2022. 3. 25. 17:42

* 쿠키란?
- 쿠키는 사용자가 웹사이트를 처음 방문할 때 웹사이트에서 클라이언트의 컴퓨터에 저장해 놓은 작은 파일
- 왜 쿠키 사용? - http 프로토콜은 웹브라우저에 응답후에 일정한 시간이 지나면 접속을 끊는 특징이 있다. (서버 오버로딩 방지)  끊어진 뒤(일정시간 지난뒤) 사용자가 접속요청 해도, 매번 번거로이 인증작업을 할 번거로움을 피하기 위해, 쿠키 기술이 등장하게 됨.
- 쿠키는 ‘서버에서 생성’된다. 
- 쿠키는 ‘클라이언트 PC 저장’된다. 

(response 객체를 통해 서버→클라이언트로 전달. txt 파일 형태로 저장됨, 서버는 쿠키를 저장않음)
- 쿠키 ’관리는 웹브라우저’가 한다.
- 쿠키의 크기는 4KB로 제한적이다. 

 

보안중요성이 높은 정보는 ‘쿠키’ 보다는 ‘세션’ 을 선호

 

* 쿠키생성
1. 쿠키생성은 쿠키(javax.servlet.http.Cookie) 클래스를 사용  
                  ↓
2. 쿠키속성 설정(setter)  
                  ↓
3. 쿠키의 전송 (response 객체에 탑재:addCookie())


* 쿠키 관련 메소드
setMaxAge() : 쿠키 유효기간을 설정
setPath() : 쿠키사용을 위한 디렉토리를 설정(특정 경로명을 갖는 URL로 전송하도록 설정)
setValue() : 쿠키값을 설정
setVersion() : 쿠키의 버전을 설정
getMaxAge() : 쿠키의 유효기간 정보를 얻어옴
getName() : 쿠키 이름을 얻어옴
getPath() : 쿠키의 유효 디렉토리 정보를 얻어옴
getVersion() : 쿠키의 버전을 얻어옴
getCookies() : 쿠키데이터를 읽어올 때 사용함, 웹브라우저가 보낸 쿠키를 배열로 반환하는 메소드

 

* 저장된 쿠키 사용하는 순서
1. 웹브라우저의 요청(request) 에 담겨있는 쿠키를 얻어온다.
2. 쿠키는 ‘이름’ - ‘값’ 의 쌍으로 된 ‘배열 형태’로 리턴된다. 리턴된 쿠키의 배열에서 쿠키의 이름을 가져온다.
3. 쿠키의 이름을 통해서 해당 쿠키의 설정된 값을 추출


* 쿠키 보기 - request.getCookies()

cookielist.jsp

* 쿠키를 생성 / 삭제 하기

cookieCreate.jsp
cookieDelete.jsp

- 쿠키 제거는 age 를 0 값으로 만들면 된다.


페이지흐름 구성

logPage.jsp :  본문 페이지, 반드시 로그인 한 사람만 볼수 있도록 처리 되어야 함.

 

                        로그아웃 버튼                 id, pw 입력

logout.jsp 쿠키삭제    ←   login.jsp 로그인화면    →      loginOk.jsp 로그인 처리

                                                                 ←          성공시 쿠키생성

                                                       로그인 성공, 로그인 실패

login.jsp
loginOk.jsp
logout.jsp

 

'JSP' 카테고리의 다른 글

[JSP] 자바 빈  (0) 2022.04.05
[JSP] 세션(Session)  (0) 2022.03.31
[JSP] 액션 태그  (0) 2022.03.24
[JSP] 내부객체  (0) 2022.03.24
[JSP] 태그, 지시자  (0) 2022.03.24