애플리케이션 캐시란 무엇인가요?
HTML5에는 인터넷 연결 없이 웹 애플리케이션을 캐시하고 액세스할 수 있는 애플리케이션 캐싱이 도입되었습니다.
애플리케이션 캐싱은 앱에 세 가지 이점을 제공합니다.
1. 오프라인 탐색 - 사용자는 오프라인일 때 앱을 사용할 수 있습니다.
2. 속도 - 캐시된 리소스 로딩 더 빨라집니다.
3. 서버 부하 감소 - 브라우저는 서버에서 업데이트되거나 변경된 리소스만 다운로드합니다.
HTML5에서는 캐시 매니페스트 파일을 생성하여 웹 애플리케이션의 오프라인 버전을 쉽게 생성할 수 있습니다.
브라우저 지원
Internet Explorer 10, Firefox, Chrome, Safari 및 Opera는 애플리케이션 캐싱을 지원합니다.
HTML5 캐시 매니페스트 예
다음 예에서는 캐시 매니페스트가 포함된 HTML 문서(오프라인 검색용)를 보여줍니다.
<!DOCTYPE html> <html manifest="demo_html.appcache"> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <script src="demo_time.js"> </script> <p id="timePara"><button onclick="getDateTime()">获取日期和时间</button></p> <p><img src="http://img.taopic.com/uploads/allimg/130512/240477-130512133S924.jpg" width="336" height="69"></p> <p>尝试打开 <a href="" target="_blank">这个页面</a>, 在离线的状态下重新载入这个页面,页面也可以访问。</p> </body> </html>
캐시 매니페스트 기본
애플리케이션 캐싱을 활성화하려면 문서의 <html> 태그에 매니페스트 속성을 포함하세요.
<!DOCTYPE HTML>
<html 매니페스트="demo.appcache">
...
</html>
지정된 매니페스트가 있는 각 페이지는 사용자가 액세스할 때 캐시됩니다. 매니페스트 속성이 지정되지 않으면 페이지가 캐시되지 않습니다(매니페스트 파일에 직접 지정되지 않는 한).
매니페스트 파일의 권장 파일 확장자는 ".appcache"입니다.
참고 매니페스트 파일은 올바른 MIME 유형, 즉 "text/cache-manifest"로 구성되어야 합니다. 웹 서버에서 구성해야 합니다.
매니페스트 파일
매니페스트 파일은 브라우저에 캐시된 콘텐츠와 캐시되지 않은 콘텐츠를 알려주는 간단한 텍스트 파일입니다. .
매니페스트 파일은 세 가지 섹션으로 나눌 수 있습니다.
CACHE MANIFEST - 이 제목 아래에 나열된 파일은 첫 번째 다운로드 후 캐시됩니다.
NETWORK - 이 제목 아래에 나열된 파일은 서버에 연결해야 하며 캐시되지 않습니다.
FALLBACK - 이 제목 아래에 나열된 파일은 다음 경우 페이지에 대한 연결이 필요합니다. 대체 페이지 접근 불가(예: 404 페이지)
캐시 매니페스트
첫 번째 줄인 CACHE MANIFEST는 필수입니다:
CACHE MANIFEST
/theme.css
/logo.gif
/main .js
위 매니페스트 파일에는 CSS 파일, GIF 이미지, JavaScript 파일이라는 세 가지 리소스가 나열되어 있습니다. 매니페스트 파일이 로드되면 브라우저는 웹 사이트의 루트 디렉터리에서 이 세 파일을 다운로드합니다. 그러면 사용자가 인터넷 연결을 끊을 때마다 이러한 리소스를 계속 사용할 수 있습니다.
네트워크
다음 NETWORK 섹션에서는 "login.php" 파일이 캐시되지 않으며 오프라인에서 사용할 수 없도록 지정합니다.
NETWORK:
login.php
별표는 다른 모든 리소스/파일에 인터넷 연결이 필요함을 나타내는 데 사용할 수 있습니다.
NETWORK:
*
FALLBACK
다음 FALLBACK 하위 섹션에서는 다음과 같이 명시합니다. 인터넷 연결을 설정할 수 없는 경우 /html5/ 디렉터리의 모든 파일을 "offline.html"로 바꿉니다:
FALLBACK:
/html/ /offline.html
참고: 첫 번째 URI는 리소스이고 두 번째 URI는 대체입니다.
캐시 업데이트
앱이 캐시되면,
사용자가 브라우저 캐시를 지움
매니페스트 파일이 수정될 때까지 캐시된 상태로 유지됩니다(아래 팁 참조)
프로그램별 애플리케이션 캐시 업데이트
예 - 전체 매니페스트 파일
캐시 매니페스트
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
네트워크:
login.php
폴백:
/html/ /offline.html
팁 : "#"으로 시작하는 줄 주석 줄이지만 다른 용도로 사용될 수 있습니다. 매니페스트 파일이 변경되면 애플리케이션 캐시가 업데이트됩니다. 이미지를 편집하거나 JavaScript 기능을 수정하는 경우 이러한 변경 사항은 다시 캐시되지 않습니다. 주석 줄에서 날짜와 버전 번호를 업데이트하면 브라우저가 파일을 다시 캐시하게 됩니다.
애플리케이션 캐싱 주의사항
캐시 내용에 주의하시기 바랍니다.
파일이 캐시되면 서버에서 파일을 수정하더라도 브라우저는 캐시된 버전을 계속 표시합니다. 브라우저가 캐시를 업데이트하도록 하려면 매니페스트 파일을 업데이트해야 합니다.
참고: 브라우저마다 캐시된 데이터에 대한 용량 제한이 다를 수 있습니다(일부 브라우저는 사이트당 5MB의 제한을 설정합니다).