HTML 5 를 이용한 웹 애플리케이션을 개발할때 실시간으로 표현시 느린 부분 이나 즉시 수행해야 할 부분을 미리 읽어 들이거나, 다음 접속때, 오프라인된 내용을 이용할때 미리 저장된 데이터를 사용할 수 있도록 하는 방법입니다. 예를 들어 특정 버튼 클릭시 음성 파일을 재생한다고 했을때 캐시 되지 않고 실시간으로 표현하기 위해서는 이벤트가 발생한 후 음성 파일을 다운로드 후 재생을 하게 됩니다. 이때 발생하는 문제점 중에 하나가 버튼을 클릭 한 후 바로 재생을 못하고 다른 동작이 일어 났을때 재생이 될 수 있다는 점이죠. 이런 것을 최소한 방지 하기 위해 미리 읽어 들일 파일을 브라우저에게 알려주는 것입니다.

W3C HTML Application Cache

<DOCTYPE html>


캐시 파일의 MIME 타입은 text/cache-manifest 입니다.

CACHE MANIFEST
#해당 캐시 파일에 대한 설명 , 버전, 갱신일 등.

# 해당 웹 페이지에서 캐시할 내용입니다.
CACHE:
#캐시할 파일 
./cache.jpg
http://example.com/cache.png

# 네트웍 장애(또는 비슷한 현상 : 연결실패등)시 사용할 내용입니다.
FALLBACK:
#대상 파일	#대체할 오프라인 파일
./cache.jpg ./cache_offline.jpg

# 오프라인시 사용 불가능 한 파일 입니다. (온라인에서만 접근 가능한 파일)
NETWORK:
./networkimg.jpg

위 처럼 사용합니다.
HTML 5 Application cache 는 이벤트를 발생시킵니다.

interface ApplicationCache {

	// 상수 : 업데이트 상태
	const unsigned short UNCACHED = 0;	// 캐시가 안되었음 (캐싱전)
	const unsigned short IDLE = 1;	// 유휴상태 
	const unsigned short CHECKING = 2;	// 캐시 채크중
	const unsigned short DOWNLOADING = 3;	// 다운로드중
	const unsigned short UPDATEREADY = 4;	// 업데이트 준비
	const unsigned short OBSOLETE = 5;	// 캐시 크룹이 사용할 수 없는 상태임
	
	// 상태 값
	readonly attribute unsigned short status;
	
	// 업데이트
	void update();	// 업데이트를 다운로드 하도록함
	void swapCache();	// 캐시된 내용 중 최근 변경된 값을 확인합니다. 
	
	// 이벤트 핸들러 
	attribute Function onchecking;	// 캐시를 체크하고 있음
	attribute Function onerror;	// 오류발생
	attribute Function onnoupdate;	// 업데이트가 안되었다. 
	attribute Function ondownloading;	// 다운로드 중
	attribute Function onprogress;	// 다운로드 비율
	attribute Function onupdateready;	// 업데이트 준비 됨
	attribute Function oncached;	// 캐시 완료
	attribute Function onobsolete;	// 캐시 사용 할 수 없음
};
ApplicationCache implements EventTarget;

// cache 객체 
var cache = window.ApplicationCache;	// window 에서 가져옴
2011/09/07 01:26 2011/09/07 01:26

Trackback Address :: https://youngsam.net/trackback/1515