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); |