2017년 5월 21일 일요일

캐쉬 설정 (페이지를 열때마다 새로 읽기 설정)

primitives에 추가하는 방법

  • JSP에서 로그인 문제(이전 창에서 로그인 정보 남아있는 문제) 발생시 아래의 코드를 삽입하여 해결
  • 코드 저장후 해당 페이지를 1회 새로고침 한 후 코드가 적용되었음.
  • 아래의 코드는 인쿠르드 당하는 페이지에도 있어야 잘 작동되었음.
<%
response.setHeader("Cache-Control", "no-cache"); //캐쉬 없애기 HTTP 1.1
response.setHeader("Pragma", "no-cache"); //캐쉬 없애기 HTTP 1.0
response.setDateHeader("Expires", 0); //proxy server에 캐쉬되는 것 막는다.
%>

아래는 <html> 태그 위에 적어서 적용해야한다.

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

아래는 실제 사용했던 예

<%@ page contentType="text/html; charset=utf-8"%>
<%
response.setHeader("Expires", "0"); //캐시가 만료되어 삭제되는 시간. -1의 캐시유지
response.setHeader("Pragma", "no-cache"); //캐쉬 없애기 HTTP 1.0
response.setHeader("Cache-Control", "no-cache"); //캐쉬 없애기 HTTP 1.1
%>
<META content="no-cache" http-equiv="Pragma">

ajax로 불러올때 실제 사용했던 예

타 이미지가 동일 파일명으로 서비스되야 하는 경우 이전 캐시를 읽지 않도록 처리함

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
//데이터 요청
$.ajax({
    url : 'list.ajax',
    cache : false, //캡처 사진이 동일명칭이라 캐시의 이미지를 읽지 않도록 캐시 날림
    success : function(result) {
    },
    error : function(request,status,error) {
    }
});