개발/Web

[WEB] Cookie 처리 기술

hojak99 2017. 5. 17. 15:12

Cookie - 클라이언트 브라우저에 저장하는 기술

             - 웹 컴포넌트 간의 데이터 전달을 위해서 만든 기술

             - 웹 브라우저 쪽에 데이터를 저장하고 읽어오는 방식을 취함

 

 

쿠키 객체 하나로 표현되는 단위 데이터인 쿠키 생성

Cookie cookie = new Cookie("name", "홍길동");

 

쿠키 객체 하나로 표현되는 단위 데이터인 쿠키 생성

response.addCookie(cook);

 

 

 

 

쿠키 데이터 읽기

- 쿠키 정보 일괄 획득

Cookies cookies[] = request.getCookies();

for( Cookie c : cookies ){

  // 찾고자 하는 키 = searchName

  if( c.getName().equals(searchName)) {

     return c.getValue();

  }

}

 

 

쿠키 수정

response.addCookie( new Cookie("name", "tomas") );

// 키 값 동일하면 수정

 

쿠키 삭제

Cookies cookies[] = request.getCookies();

for( Cookie c : cookies ){

  // 찾고자 하는 키 = searchName

  if(c.getName().equals(searchName)) {

     c.setMaxAge(0);    // 쿠키가 바로 삭제하도록 처리

     c.setMaxAge(-1);    // 웹 브라우저가 끝날 때 쿠키가 삭제되도록 처리

 

     // 변경한 쿠키를 브라우저에 전송해야지만 반영 된다.

     response.addCookie(c);

  }

}

 

 

 

특정 경로명을 갖는 URL 로만 전송되도록 만드는 방법

- 웹 브라우저는 웹 서버로 URL 을 보낼 때 그 웹 서버에 속하는 모든 쿠키를 함께 보내는 것이 기본 동작

- 특정 경로명에서만 쿠키가 전송될 수 있게 제한할 수 있다.

Cookie cook = new Cookie("name", "홍길동");

cook.setPath("/in/main/");

// 위의 코드가 없을 경우 모든 페이지에 쿠키가 들어간다.

 

response.addCookie(cook);

 

- 쿠키가 여러 웹 서버로 전송하는 방식

Cookie cook = new Cookie("name", "홍길동");

cook.setDomain(".co.kr");

response.addCookie(cook);

 

반응형