라이브 웹 사이트 (PHP, MySQL, JS, CSS 사용)가 있고 일부 기능을 변경한다고 말하면됩니다. 사용자가 사이트를 방문 할 때 변경된 페이지가 업데이트되고 캐시에서로드되지 않도록하는 가장 좋은 방법은 무엇입니까?웹 사이트 업데이트 캐시
답변
파일 로더가 있습니다. css, js 또는 다른 파일을로드 할 때 캐시 제어 헤더를 설정해야합니다. .htaccess 또는 php로 편집 할 수 있습니다.
.htaccess 데모
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A300
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A3600
ExpiresByType text/css A3600
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A300
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A300
</IfModule>
PHP 데모 :이 표준을 준수합니다,하지만 일반적으로 발생하는 브라우저가 다운로드를 수행하는 경우 당신은 정말, 각 브라우저 정책을 제어 할 수
$offset = 3600 * 24;
$expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($expire);
통해 HTML, HEAD 섹션 넣어에서 ...
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
흥미 롭다. 나는 들어 본 적이 없다. 가능한 경우 항상 새로운 페이지를로드합니까? –
예, 만료 메타는 페이지가 이미 만료되어 캐시에서로드 할 수 없음을 지정합니다. 그러나 결코 캐시되지 않으므로 페이지가 변경되지 않아도 서버에서 새로운 것을 요청할 것입니다. – craig1231
내용을 동일하게 유지하면 항상 캐시하지 않는 것을 모두 설정하는 것은 좋지 않습니다. – epascarello
당신은)합니다 (window.applicationCache.swapCache을 사용할 수 있습니다; 및 window.location.reload(); javascript는 사이트의 업데이트 된 버전이 있음을 확인한 후 강제로 페이지를 다시로드합니다.
더 나은 옵션은 사용자에게 어떤 방식 으로든 프롬프트를 표시하여 사이트가 업데이트되었음을 알릴 수 있습니다. 그렇게하면 페이지가 갑자기 다시로드되지 않습니다.
function updateCache(){
window.applicationCache.swapCache();
window.location.reload();
}
window.applicationCache.addEventListener("updateready", updateCache, false);
캐시 제어는 Javascript가 아닌 HEADERS를 통해 이루어져야합니다. –
와 함께 사용됩니다. 네가하는 말에 혼란 스럽다. –
귀하의 솔루션은 뉴스가 분 단위로 제공 될 수있는 라이브 웹 페이지에만 적합합니다. 또는 초. 하지만 이미지 캐시를 어떻게 설정할 것입니까? 그리고 window.applicationCache는 html5에서만 작동합니다. –
캐시에서로드되거나 재 다운로드되어야하는지 여부를 결정하기 전에 각 HTML의 헤더. (특히 캐시 제어 아래) 자세한 내용은
당신은 사용자를 캐싱 어떤 형태의 데이터를 요청하고이 업데이트되었는지 확인한다이 없다면. 일반적으로 PHP는 액티브 캐싱을하지 않는 한 캐쉬되지 않습니다.
귀하의 JS와 CSS는 HEADERS를 통해 Apache (또는 귀하가 사용하는 웹 서버)를 설정해야합니다.
- 1. 웹 서비스 - 캐시 업데이트
- 2. 캐시/오프라인 웹 사이트 스크립트
- 3. 자동으로 웹 사이트 업데이트
- 4. 웹 응용 프로그램 캐시 업데이트
- 5. 캐시 업데이트 전략 추천
- 6. 웹 사이트 - 서버에서 클래스 업데이트 - 업데이트 서버
- 7. 실시간으로 웹 사이트 업데이트 모니터링하기
- 8. github 저장소에서 웹 사이트 업데이트
- 9. 테스트 웹 사이트 (IIS) 업데이트
- 10. 업데이트 게시 asp.net 웹 사이트
- 11. Java 웹 사이트 다운로드 캐시 API
- 12. 완전 캐시 된 동적 웹 사이트
- 13. 사전 캐시 사이트
- 14. Require.js에 의해 최적화 된 웹 사이트 파기 캐시
- 15. Visual Studio, 웹 사이트 주소 업데이트
- 16. 비 프로그래머 용 웹 사이트 업데이트 도구
- 17. 자동 업데이트 asp.net 웹 사이트 bin 폴더
- 18. 캐시 된 데이터 업데이트
- 19. HTML5 오프라인 캐시 업데이트
- 20. 데이터베이스의 Smarty 캐시 사이트 속성
- 21. 웹 사이트 Chrome에 캐시 된 이미지가 페이지 새로 고침시 사라짐
- 22. 왜 웹 사이트 렌더링에 많은 시간이 필요합니까? 캐시
- 23. 업데이트 빈도 제한/업데이트 캐시 지우기
- 24. 인트라넷 웹 사이트
- 25. 오프라인 모바일 웹 사이트
- 26. 웹 서버 캐시 파일
- 27. PHP 웹 사이트 최적화
- 28. 캐시 된 파일 대신 업데이트 된 파일이 제공되는지 확인하려면 어떻게해야합니까?
- 29. 과수원에서 Azure로 사이트 업데이트 배포
- 30. 여러 웹 사이트간에 캐시 공유
아파치에 mod_expires를 설치하는 것을 잊지 마십시오. 많은 hoster는 그것을 지원하지 않습니다. –
답장을 보내 주셔서 감사합니다! 이것이 해결책 일 수있는 것 같습니다. 무엇을위한 숫자입니까? A300 등은 초 단위로 캐시하는 것이 얼마나 오래 되나요? – georgesamper
@ 조지 예. http://httpd.apache.org/docs/1.3/mod/mod_expires.html –