Application Cache
application cache API
application cache API는 웹 응용 프로그램을 캐시(cache) 하여, 인터넷 접속 없이 사용자가 접근할 수 있게 해줍니다.
따라서 application cache를 사용하면 웹 응용 프로그램의 오프라인 버전을 쉽게 만들 수 있습니다.
application cache를 사용해서 생기는 장점은 다음과 같습니다.
- 오프라인 접속 : 사용자가 웹 응용 프로그램을 오프라인(off-line)으로도 사용할 수 있습니다.
- 속도 : 캐시(cache)된 자원은 빠르게 로드(load)할 수 있습니다.
- 서버의 부하 감소 : 웹 브라우저는 서버의 자원에 변동이 있을 때만 자원을 갱신하면 됩니다.
application cache를 지원하는 주요 웹 브라우저의 버전은 다음과 같습니다.
API | |||||
---|---|---|---|---|---|
application cache | 10.0 | 4.0 | 3.5 | 4.0 | 11.5 |
cache mainfest 파일
application cache를 사용하기 위해서는 먼저 cache mainfest 파일을 작성해야 합니다.
cache mainfest 파일은 웹 브라우저에 캐시(cache) 해야 할 파일과 캐시하지 말아야 할 파일을 알려줍니다.
이러한 mainfest 파일은 다음과 같이 세 개의 세션(session)으로 이루어집니다.
- CACHE MAINFEST : 처음 다운로드한 이후에 계속 캐시할 파일들을 기록합니다.
- NETWORK : 서버와의 접속이 필요한 파일들을 기록하며, 이 파일들은 절대로 캐시되지 않습니다.
- FALLBACK : 파일에 접속할 수 없을 때에 대체할 파일들을 기록합니다.
캐시(cache)의 갱신
웹 브라우저는 다음과 같은 경우가 발생하면 캐시(cache)의 정보를 갱신하게 됩니다.
- 사용자가 웹 브라우저의 캐시를 강제로 지웠을 경우
- application cache가 프로그램 때문에 갱신됐을 경우
- cache mainfest 파일이 수정됐을 경우
문법
CACHE MAINFEST
# 2016-03-22 v1.0.1
test.html
test.css
test.js
NETWORK:
test.jpg
FALLBACK:
/ offline.html
한 번 캐시 되면 서버상의 파일을 수정해도, 웹 브라우저는 사용자 측에 캐시 되어 있는 버전의 파일만을 보여줍니다.
따라서 서버상의 파일을 수정한 후에는 반드시 웹 브라우저가 캐시를 갱신하도록 만들어야 합니다.
이때 가장 많이 사용되는 방법이 cache mainfest 파일 내의 주석 부분을 수정하는 것입니다.
일반적으로 갱신 날짜 및 버전 정보를 주석으로 표시하고, 이 부분을 수정하여 웹 브라우저가 캐시를 갱신하도록 유도합니다.