HTML 입문 | HTML5 API | Application Cache

application Cache API

application cache API는 웹 응용 프로그램을 캐시(cache) 하여, 인터넷 접속 없이 사용자가 접근할 수 있게 해준다.
따라서 application cache를 사용하면 웹 응용 프로그램의 오프라인 버전을 쉽게 만들 수 있다.

application cache를 사용해서 생기는 장점은 다음과 같다.

  • 오프라인 접속 : 사용자가 웹 응용 프로그램을 오프라인(off-line)으로도 사용할 수 있다.
  • 속도 : 캐시(cache)된 자원은 빠르게 로드(load)할 수 있다.
  • 서버의 부하 감소 : 웹 브라우저는 서버의 자원에 변동이 있을 때만 자원을 갱신하면 된다.

application cache를 지원하는 주요 웹 브라우저의 버전은 다음과 같다.

API ie chrome firefox safari opera
application cache 10.0 4.0 3.5 4.0 11.5

cache manifest 파일

application cache를 사용하기 위해서는 먼저 cache manifest 파일을 작성해야 한다.
cache manifest 파일은 웹 브라우저에 캐시(cache) 해야 할 파일과 캐시하지 말아야 할 파일을 알려준다.

이러한 mainfest 파일은 다음과 같이 세 개의 세션(session)으로 이루어진다.

  • CACHE MANIFEST : 처음 다운로드한 이후에 계속 캐시할 파일들을 기록한다.
  • NETWORK : 서버와의 접속이 필요한 파일들을 기록하며, 이 파일들은 절대로 캐시되지 않는다.
  • FALLBACK : 파일에 접속할 수 없을 때에 대체할 파일들을 기록한다.

캐시(cache)의 갱신

웹 브라우저는 다음과 같은 경우가 발생하면 캐시(cache)의 정보를 갱신하게 된다.

  • 사용자가 웹 브라우저의 캐시를 강제로 지웠을 경우
  • application cache가 프로그램 때문에 갱신됐을 경우
  • cache manifest 파일이 수정됐을 경우

문법

CACHE MANIFEST
# 2016-03-22 v1.0.1
test.html
test.css
test.js
 
NETWORK:
test.jpg
 
FALLBACK:
/ offline.html

한 번 캐시 되면 서버상의 파일을 수정해도, 웹 브라우저는 사용자 측에 캐시 되어 있는 버전의 파일만을 보여준다.
따라서 서버상의 파일을 수정한 후에는 반드시 웹 브라우저가 캐시를 갱신하도록 만들어야 한다.

이때 가장 많이 사용되는 방법이 cache manifest 파일 내의 주석 부분을 수정하는 것이다.
일반적으로 갱신 날짜 및 버전 정보를 주석으로 표시하고, 이 부분을 수정하여 웹 브라우저가 캐시를 갱신하도록 유도한다.




최종 수정 : 2021-08-27