Tomcat8.5.X에서 setMaxAge의 동작 (기한된 쿠키 작성시주의 사항)
행동의 차이
8.5.X 계열의 Tomcat에서 쿠키에 setMaxAge()를 설정하면 응답 헤더의 출력 항목이 바뀝니다.
Cookie.java
Cookie newCookie = new Cookie("CTEST", "kusa");
newCookie.setMaxAge(600);
response.addCookie(newCookie);
응답 헤더 출력
현재 (2016/11)에서 최신을 얻고 비교합니다.
8.0.39 OR 8.5.8
responce
#8.0.39
HTTP/1.1 200 OK
Set-Cookie: CTEST=kusa; Expires=Sat, 19-Nov-2016 04:02:57 GMT
#8.5.8
HTTP/1.1 200
Set-Cookie: CTEST=kusa;Max-Age=600
Expires라고 출력하고 있던 부분이, Max-Age라고 하는 출력이 되어 있습니다. IE의 경우 Max-Age를 무시하기 때문에 setMaxAge로 기한을 설정해도 세션간에 유효한 쿠키가 되므로 주의가 필요합니다.
위는 Windows7/IE11의 응답 결과입니다. 쿠키의 만료일에 날짜가 들어 주었으면 합니다만, MaxAge를 무시하고 있기 때문에, 세션이 되고 있습니다. 운영 환경이 없기 때문에 Edge에서는 확인할 수 없습니다.
setMaxAge의 거동을 8.0.X 이전으로 되돌리는 경우는 이하의 방법이 있는 것 같습니다.
h tp : / / s tac ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 38696081 / 호 w - 토 짱 게 코 오키 - p 로세소 r - ぇ이 cy 고오 키에 p 로세 r - 닌 - m 또는 t-8
Reference
이 문제에 관하여(Tomcat8.5.X에서 setMaxAge의 동작 (기한된 쿠키 작성시주의 사항)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kaikusakari/items/bfd0f9e938474d3079d5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)