캐시문제 > PHP

본문 바로가기
사이트 내 전체검색

PHP

캐시문제

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 4,421회 작성일 21-02-09 11:33

본문

Preventing a Document From Being Cached
 You can prevent a document from being cached by adding the following meta tag to the document.

 <META HTTP-EQUIV="Expires" CONTENT="0">
 Preventing the document from being cached ensures that a fresh copy of the document will always be retrieved from the site, even during the user's current session, regardless of how the user has set the browser's caching options. This is useful if the content of the document changes frequently.


 Header("Expires: 0"); -> 문서의 종료일자
Header("Cache-Control: no-cache, must-revalidate"); -> 브라우져의 케쉬
 컨트롤 ( 사용 안함 )

여기에 빠진것이 있습니다. 이 문서가 언제 갱신되었는지를 알려줘야
 됩니다. 그러면 문서 종료일자와 갱신일자를 브라우져가 비교해서
 갱신일자가 최신거면 새로 다운로드 하겠지요.

 <?
header("Expires:Mon, 26 Jul 1997 05:00:00 GMT"); -> 문서 유효일자(과거)
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); -> 갱신일자(지금)
header("pragma: no-cache") ;
 header("cache-contril: no-cache,must-revalidate") ;
 header("Cache-Control: post-check=0, pre-check=0", false);
 ?>

보통 이렇게들 많이 씁니다.
이걸 Header()함수에 맞게 변경 하면됩니다.

그런데 만일 웹 화면에 프레임셋을 만들어 좀 복잡하게 한다면
 저렇게해도 안되는 일이 발생됩니다.
주 원인은 redirection될때인데 브라우져의 문서 제전송 시간은 1초 단위
 입니다.
그런데 redirection은 보통 1초 안에 이루어지기때문에 위에서 처럼
 단순히 케쉬설정만으로 해결이 안됩니다.

그래서 다음처럼 강제로 문서 제전송을 하게 합니다.

 $rand = md5(uniqid(rand()));
 /문서.html?rand=$rand; -> 갱신시킬(이동)문서

 즉, 갱신이나 이동될 문서에 위에서처럼 렌덤한 값을 get으로 넘겨줌니다.
그러면 브라우져의 케쉬와 상관없이 문서가 변경되었기때문에 강제로
 제 전송이 이루어짐니다.

------  추가..도메인이 다른 프레임에서의 로그인 문제...--------
header ("Cache-Control: no-cache, must-revalidate");
 header ("Pragma: no-cache");
 header ('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

  • 게시물이 없습니다.

접속자집계

오늘
2,193
어제
4,039
최대
6,642
전체
830,708
contact : webmaster@beautipia.co.kr
Copyright © beautipia.co.kr. All rights reserved.