사용 브라우저: PC에서는 크롬, 휴대폰에서는 다양한 브라우저
같은 URL 주소로 접속: http://xxx.aaa.bbb.com/ship.html
테스트 환경에서: 일부 학생들이 이 주소를 다시 방문했을 때 페이지에 마지막으로 방문했을 때의 데이터가 계속 표시되어 최신 데이터가 아니었습니다. http를 확인하면 다음과 같은 몇 가지 중요한 매개변수가 있습니다: 200, 캐시에서. 그러나 일부 학생들이 이 주소를 방문할 때마다 페이지에 최신 데이터가 표시됩니다. 몇 가지 중요한 http 매개변수를 확인할 때 캐시에서 표시되지 않습니다.
캐시에서 이해는 되는데 왜 같은 서버에 접속하면 캐시에서 나오는 학생도 있고, 접속할 때 서버에서 최신 페이지 데이터를 로드하는 학생도 있는 게 이해가 안 되네요. 이것이 무엇과 관련이 있고, 어떤 영향을 미치나요?
참고:
공식 온라인 환경에서는 이런 문제가 발생하지 않고, 접속도 정상이며, 매번 서버에서 최신 페이지 데이터가 로딩됩니다.
ship.html은 단순한 정적 페이지가 아니라 의사 정적 페이지입니다.
다음 헤더가 설정되었습니다: <meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
사용 브라우저: PC에서는 크롬, 휴대폰에서는 다양한 브라우저
같은 URL 주소로 접속: http://xxx.aaa.bbb.com/ship.html
테스트 환경에서: 일부 학생들이 이 주소를 다시 방문했을 때 페이지에 마지막으로 방문했을 때의 데이터가 계속 표시되어 최신 데이터가 아니었습니다. http를 확인하면 다음과 같은 몇 가지 중요한 매개변수가 있습니다: 200, 캐시에서. 그러나 일부 학생이 이 주소를 방문할 때마다 페이지에 최신 데이터가 표시됩니다. 몇 가지 중요한 http 매개변수를 확인할 때 캐시에서 표시되지 않습니다.
캐시에서 이해는 되는데 왜 같은 서버에 접속하면 캐시에서 나오는 학생도 있고, 접속할 때 서버에서 최신 페이지 데이터를 로드하는 학생도 있는 게 이해가 안 되네요. 이것이 무엇과 관련이 있고, 어떤 영향을 미치나요?
참고:
공식 온라인 환경에서는 이런 문제가 발생하지 않고, 접속도 정상이며, 매번 서버에서 최신 페이지 데이터가 로딩됩니다.
ship.html은 단순한 정적 페이지가 아니라 의사 정적 페이지입니다.
다음 헤더가 설정되었습니다: <meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
서버가 캐시 제어를 명확하게 정의하지 않으면 클라이언트마다 캐싱 메커니즘이 다를 수 있습니다.
사용자가 항상 최신 데이터를 얻을 수 있도록 하려면 다음과 같이 메타 태그를 설정하면 됩니다.
<code class="html"><meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> <meta http-equiv="pragma" content="no-cache" /></code>
메타 태그 설정은 html 페이지에만 유효합니다. 더 좋은 방법은 http 응답 헤더에 캐시 제어를 설정하는 것입니다.
<code class="http">Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0</code>
php는 http 응답 헤더 코드를 설정합니다:
<code class="php">header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. header("Pragma: no-cache"); // HTTP 1.0. header("Expires: 0"); // Proxies.</code>
캐싱을 사용하면 페이지 로딩 속도를 높이고 리소스 소비를 줄이는 데 도움이 될 수 있으므로 특정 상황에 따라 캐싱 전략을 조정해야 합니다.
http://stackoverflow.com/ques...
http://stackoverflow.com/ques...