PHP에서 브라우저 캐싱을 비활성화하는 방법: []와 같은 메타 태그를 통해 정적 페이지의 캐싱을 비활성화할 수 있습니다. 만료는 웹페이지의 만료 시간.
방법은 다음과 같습니다.
(권장 동영상 튜토리얼: php 동영상 튜토리얼)
1. 정적 페이지의 경우(메타 태그를 통해 설정)
<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式--> <meta http-equiv="expires" content="0" />
또는 pragma no-cache, pragma를 통해 설정 http-equiv 속성에 나타나며, content 속성의 no-cache 값을 사용하여 웹 페이지를 캐시할지 여부를 나타냅니다(일부 브라우저에서는 속도 향상을 위해 뷰어가 탐색한 페이지를 캐시합니다. 다음 정의를 통해, 브라우저는 일반적으로 페이지를 캐시하지 않으며 브라우저는 오프라인으로 탐색할 수 없습니다.
<meta http-equiv="pragma" content="no-cache" />
Cache-Control: 요청과 응답이 뒤따르는 캐싱 메커니즘을 지정하는 캐시 제어입니다. 요청 메시지 또는 응답 메시지에서 Cache-Control을 설정해도 다른 메시지를 처리하는 동안 캐싱 프로세스가 수정되지 않습니다.
요청의 캐시 지침에는 no-cache, no-store, max-age, max-stale, min-fresh, only-if-cached 등이 포함됩니다. 응답 메시지의 지침에는 public, private, no-cache가 포함됩니다. 캐시, 저장 없음, 변환 없음, 재검증 필수, 프록시 재검증, 최대 수명.
각 메시지의 일부 지침은 다음과 같은 의미를 갖습니다.
공개: 모든 캐시 영역에서 응답을 캐시할 수 있음을 나타냅니다.
비공개: 단일 사용자에 대한 응답 메시지의 전체 또는 일부를 공유 캐시에서 처리할 수 없음을 나타냅니다. 이를 통해 서버는 다른 사용자의 요청에 유효하지 않은 사용자의 부분 응답만 설명할 수 있습니다.
no-cache: 요청 또는 응답 메시지를 캐시할 수 없음을 나타냅니다.
no-store: 중요한 정보가 실수로 공개되는 것을 방지하기 위해 사용됩니다. 요청 메시지에 이를 보내면 요청 메시지와 응답 메시지 모두 캐싱을 사용하게 됩니다.
max-age: 클라이언트가 지정된 시간(초)보다 크지 않은 수명으로 응답을 받을 수 있음을 나타냅니다.
min-fresh: 클라이언트가 현재 시간에 지정된 시간을 더한 것보다 짧은 응답 시간으로 응답을 받을 수 있음을 나타냅니다.
max-stale: 클라이언트가 제한 시간 이후에 응답 메시지를 받을 수 있음을 나타냅니다. max-stale 메시지 값을 지정하면 클라이언트는 지정된 제한 시간 값을 초과하는 응답 메시지를 수신할 수 있습니다.
참고: HTTP1.1에는 Cache-Control 헤더가 추가되어 다른 방법에 비해 더 세부적인 캐시 제어가 가능합니다.
<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate"> header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
2. PHP 페이지의 경우:
동적 페이지의 경우 캐시된 코드는 HTML 태그 출력 앞에 배치되어야 합니다. 그렇지 않으면 오류가 발생합니다.
<?php header('Cache-Control:no-cache,must-revalidate'); header('Pragma:no-cache'); header("Expires:0"); ?>
Last-Modified: 문서가 마지막으로 수정된 시간입니다. 사용법은 다음과 같습니다.
1: 정적 파일인 경우 클라이언트는 캐시에 시간을 보내고 Apache는 이를 비교하여 수정 사항이 없는 것으로 확인되면 상태 코드를 직접 반환합니다. 304이고 바이트 수가 매우 적습니다.
2: PHP 동적 파일인 경우 클라이언트는 비교 시간을 전송하며, 수정 시간이 동일하면 1024바이트만 반환됩니다. 알 수 없습니다. PHP가 생성하는 경우 파일이 매우 크고 1024만 반환하므로 클라이언트는 서버에서 보낸 수정 시간을 기반으로 캐시된 파일을 자동으로 표시합니다.
참고: Last-Modified 헤더가 설정되지 않은 경우 Cache-Control 및 Expires 설정만 해도 작동하지만 각 요청은 실제 파일 바이트 수를 반환해야 합니다. 1024
php는 Last-Modified 헤더를 설정하지 않습니다. 샘플 코드는 다음과 같습니다:
header('Last-Modified: '.gmdate('D, d M Y 01:01:01',$time).' GMT');//使用的是格林尼治时间,$time是指文件添加时候的时间戳
관련 권장 사항: php training
위 내용은 PHP에서 브라우저 캐싱을 비활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!