본문 바로가기
WEB

Cookie(쿠키)

by 댕꼬 2022. 3. 25.

Cookie


 

Cookie란?

서버에서 사용자의 컴퓨터에 저장하는 정보파일로 key와 value로 구성되고 String형태로 되어있다.

사용자가 별도의 요청을 하지 않아도 브라우저는 request시 Request Header를 넣어 자동으로 서버에 전송한다.

Browser마다 저장되는 쿠키는 다르다. (서버에서는 Browser가 다르면 다른 사용자로 인식)

 

 

Cookie 사용목적

  • 세션관리 : 사용자 ID, 접속시간, 장바구니 등의 서버가 알아야할 정보 저장
  • 개인화 : 사용자마다 다르게 그 사람에 적절한 페이지 노출
  • 트래킹 : 사용자의 행동과 패턴을 분석하고 기록
  • 냠냠 맛있게 먹기

 

Cookie 사용 예시

: ID저장(자동로그인), 일주일 간 다시보지 않기, 최근 검색한 상품들 광고로 추천, 장바구니 기능

 

 

Cookie 구성요소

  • 이름 : 여러개의 쿠키가 client의 컴퓨터에 저장되므로 각 쿠키를 구별하는데 사용되는 이름
  • 값 : 쿠키의 이름과 매핑되는 값
  • 유효기간 : 쿠키의 유효기간
  • 도메인 : 쿠키를 전송할 도 메인
  • 경로 : 쿠키를 전송할 요청경로

 

Cookie의 동작순서

  1. Client가 페이지를 요청
  2. WAS(Web Application Server)는 Cookie를 생성
  3. HTTP Header에 Cookie를 넣어 응답
  4. Browser는 넘겨받은 Cookie를 PC에 저장하고, 다시 WAS가 요청할 때 요청과 함께 Cookie를 전송
  5. Browser가 종료되어도 Cookie의 만료기간이 남아있다면 Client는 계속 보관
  6. 동일 사이트 재방문 시 Client의 PC에 해당 Cookie가 있는 경우, 요청 페이지롸 함께 Cookie를 전송

 

Cookie의 특징

  • 이름, 값, 만료일(저장기간), 경로의 정보로 구성되어있다.
  • Client에 총 300개의 쿠키를 저장 할 수 있다.
  • 하나의 도메인 당 20개의 쿠키를 가질 수 있다.
  • 하나의 쿠키는 4KB(=4096byte)까지 저장가능하다.
  •  

Cookie 주요기능

기능 method
생성 Cookie cookie = new Cookie(String name, String vlaue);
값 지정(변경)/얻기 cookie.setValue(String Value) / String value = cookie.getDomain();
사용도메인 지정/얻기 cookie.setDomain(String domain) / String domain  = cookie.getDomain();
값 범위 지정 / 얻기 cookie.serPath(String path) / String path = cookie.getPath
Cookie 유효기간 지정 / 얻기 cookie.setMaxAge(int expiry) / int expiry = getMaxAge() 
* cookie삭제 : cookie.setMaxAge(0)
생성된 Cookie를 Client에 전송 reponse.addCookie(cookie)
Client에 저장된 Cookie 얻기 Cookie cookies[] = request.getCookies()

 

'WEB' 카테고리의 다른 글

JSP(Java Server Page)  (0) 2022.03.26
MVC Pattern 이해하기  (0) 2022.03.23
Servlet (서블릿)이해하기 + 실습예제  (0) 2022.03.22

댓글