-
Cookie의 maxAge 옵션Servlet-JSP 2022. 1. 14. 17:09
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다.
maxAge 옵션이란
cookie객체는 브라우저나 클라이언트에 저장하는 데이터인데 만약 브라우저가 닫혔다고 하면 쿠키는 어떻게 될까?
기본적으로 쿠키에 maxAge를 설정 해 주지 않으면 쿠키의 수명은 브라우저의 수명과 같게 된다.
브라우저가 닫히게 되면 쿠키도 같이 소멸되게 되는 것이다.
쿠키의 가장 장점 중 하나는 브라우저가 닫히더라도 내가 원하는 기간을 설정하게 되면 그 기간내에는 계속 값을 유지 할 수 있게 해준다는 장점이 있다.
쿠키는 원래 브라우저의 메모리에 있는 데이터인데 만약 maxAge 옵션 또는 기간설정을 해 주면 브라우저와 상관 없이 그 기간 내에 살아 있어야 하기 때문에 영구저장소라고 할 수 있는 외부파일로 저장이 된다.
그래서 브라우저가 닫히더라고 그 위치로 가면 그 내용을 찾아 볼 수 있게 된다.
Cookie valueCookie = new Cookie("value", String.valueOf(v)); Cookie opCookie = new Cookie("op", op); valueCookie.setPath("/calc2"); // valueCookie가 어느 경우에 사용자에게 전달 되어야 하는지에 대한 옵션 설정 valueCookie.setMaxAge(24*60*60); //24시간 60분 60초 를 작성 해 준것 opCookie.setPath("/calc2"); response.addCookie(valueCookie); //클라이언트에서 보내 주기 위한 코드 response.addCookie(opCookie); //클라이언트에서 보내 주기 위한 코드 response Header에서 심어지는 형태로 보내지게 된다.이렇게 만료 시간을 지정 해 주게 되면 브라우저가 닫혀도 유저의 컴퓨터 전원이 꺼져도 지정 된 시간 동안은 쿠키 데이터가 유지가 되는것이다.
우리는 지금 value쿠키에만 시간을 지정 해주고 op 쿠키에는 지정 해 주지 않았기 때문에 op쿠키데이터의 경우에는 브라우저를 닫게 되면 브라우저와 함께 소멸 되는 것이다.
서버를 재시작해서 한번 확인 해 보자

value쿠키는 만료세션이 생서 되었고 op 쿠키는 따로 지정 되지 않은 것을 확인 할 수 있다.
모든 브라우저를 종료 했다가 다시 켜서 쿠키를 확인 해 보니

value쿠키만 남은 것을 확인 할 수 있다.
'Servlet-JSP' 카테고리의 다른 글
JSP란? (0) 2022.01.20 서버에서 페이지 전환하기 Redirect (0) 2022.01.14 Cookie 객체 (0) 2022.01.14 Session객체 (feat.Application과의 차이점) (0) 2022.01.13 Application객체와 서블릿Context (0) 2022.01.13