서블릿을 사용하여 브라우저에서 페이지 캐싱을 중지하려면 어떻게해야합니까?서블릿의 결과가 캐싱되지 않도록하려면 어떻게해야합니까?
나는 내가가 로그인하고 때 브라우저의 버튼을 다시 누르면 해당 세션이 만료해야합니다.
서블릿을 사용하여 브라우저에서 페이지 캐싱을 중지하려면 어떻게해야합니까?서블릿의 결과가 캐싱되지 않도록하려면 어떻게해야합니까?
나는 내가가 로그인하고 때 브라우저의 버튼을 다시 누르면 해당 세션이 만료해야합니다.
당신은 브라우저를하지에 격려 할 것이다 당신이 HTTP 헤더를 보낼 수 요청에 대한 HttpServletResponse (구현) 개체를 얻을 경우 전송 한 콘텐츠를 캐시하십시오.
HttpServletResponse response; // You'll need to initialize this properly
response.setHeader("Cache-control", "no-cache, no-store");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
는
HttpServletResponse 및
HttpServletResponseWrapper 설명서를 참조하십시오. HTTP의 캐시 제어 헤더를 읽어야 할 경우를 대비하여
check this out.
캐시를 영구적으로 비활성화하려면.
// Set to expire far in the past.
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
// Set standard HTTP/1.1 no-cache headers.
response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
// Set IE extended HTTP/1.1 no-cache headers (use addHeader).
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
// Set standard HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
클라이언트 캐시를 지우면 즉시 세션이 만료되지 않고 브라우저에서 세션 쿠키가 지워집니다. 세션이 즉시 만료되도록하려면 서버 측 JSP 또는 서블릿에 명시 적으로 지정해야합니다.
// use session invalidate
session.invalidate();
[signout 후 이전 페이지에서 사용자를 제한한다.]의
중복 가능성 (http://stackoverflow.com/questions/4194207/restrict-user-from-the-previous-page-after-signout) – BalusC