본문 바로가기

기존카테고리/하이브리드앱

applicaton cache

<!doctype html>

<html manifest="cache.manifest">

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

<title>제이쿼리 모바일 연습</title>


<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"/>

<style>

@import url("./common.css");

</style>

<script src="http://code.jquery.com/jquery.min.js"></script>

<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

</head>

<!-- 

Application Cache : 오프라인 환경을 고려해서 Local에서 동작할 수 있는 앱이 되도록 또는 트래픽을 최소화하기 위해서 사용하는 기능이다.


기본적으로 Html, js, css 등의 문서 파일들과 각종 이미지 파일들을 임시영역에 저장할 수 있도록 지원하는 기능이다.


Application Cache는 전적으로 웹어플리케이션이 관리 한다. 따라서, 캐시된 파일을 업데이트 할지 하지말아야 할지를 웹어플리케이션이 결정할 수 있고, 오프라인 환경에서 캐쉬되어 있는 파일을 확인할 수 있다.

역할 :

1. 오프라인 지원 : 한번 사이트에 접속하면 파일을 다운로드 해서, 사용자가    오프라인 환경일 때에 사이트를 접근할 수 있도록 한다.

2. 속도향상:

지정한 모든 파일을 로컬에 저장해 두므로, 훨씬 빠른 속도로 페이지를 표시할 수 있다. 일반적으로 전체사이트에 공유되는 js, css 파일들은 초기에 한번만 다운로드 해놓으면 그 후에는 다운로드 없이 빠르게 재사용할 수 있다.

3. 서버부하 줄인다.

캐쉬된 파일들이 업데이트가 되었는지만 체크하고 업데이트되지 않았다면 다운로드를 하지 않으므로 서버에서는 파일전송에 대한 부하가 줄어들게 된다.

** Application Cache 사용방법

각페이지의 html 태그에 다음과 같이 manifest 속성에 manifest파일을 지정한다.

manifest파일은 텍스트 형식의 파일이면 되며, 파일이름이나 확장자는 제한이 없다.

<!DOCTYPE> 설정이 되어 있어야 하며,  

<!DOCTYPE html>

<html manifest="./aaa.manifest">

...

</html>

[[[ 매니페스트 파일의 형식]]]

맨 첫줄에는 반드시 CACHE MANIFEST라는 용어를 사용해야 하며,

CACHE:, NETWORK:, FALLBACK: 이 세개의 헤더정보가 포함되야 한다.

CACHE - 이 헤더에 명시된 파일들은 맨 처음 로드되고 나서 캐시에 저장된다.

NETWORK - 이 헤더에 명시된 파일들은 무조건 네트워크에서만 불러 올 수 있다.

만약에 오프라인 환경이라면 이 파일들은 절대로 캐쉬된 파일로 사용될 수 없다.


FALLBACK - 이 헤더에 명시된 파일들은 로딩에 실패 했을 경우에 대신 사용할 파일들을 지정한다.

예> aa.jpg   bb.jpg >>> 이 의미는 aa.jpg파일 로딩에 실패한 경우 bb.jpg를  

                        자동으로 로딩한다라는 의미이다.

-->

<body>

<div data-role="page" id="firstPg">

<div data-role="header" data-position="fixed" id="header">

<h3>Application Cache</h3>

</div><!-- header  -->

<div role="main" class="ui-content">

<img src="./a.png"/><br/>

<img src="./b.png"/><br/>

<img src="./c.png"/>

</div><!-- main  -->

<div data-role="footer" data-position="fixed">

<h3>footer</h3>

</div><!-- footer  -->

</div><!-- page1 -->


</body>

</html>




common.css

@charset "utf-8";


#firstPg{

background:#ddd;

}


common.js

window.onload=function(){


}




cache.manifest

CACHE MANIFEST

# 주석시 사용하는 기호는 '#' 이다.

# 매니페스트에 명시된 파일은 한번 브라우저에 캐쉬된 이후 다시 갱신되지 않는다.

# 만일 캐쉬된 파일이 수정되어서 다시 캐쉬를 갱신해야 하는 경우에는 매니페스트 파일의 

# 내용을 수정해야한다.

# 매니페스트 파일을 수정하는 경우에는 날짜나 버전을 변경하여 처리한다.

# 그럴경우 주석처리해서 표시한다.

# manifest version : v1.0 2016-01-21


CACHE:

./common.css

./common.js

./a.png


NETWORK:

./b.png


FALLBACK:

./c.png    ./a.png

 



'기존카테고리 > 하이브리드앱' 카테고리의 다른 글

mobile API - changePage  (0) 2017.11.05
디바이스 방향계  (0) 2017.11.04
[jQuery Mobile] 미디어 플레이어 조작  (0) 2017.11.04
구글 MAP API  (0) 2017.11.04
[jQuery Mobile] GeoLocation  (0) 2017.11.03