본문 바로가기

Study/HTML5,CSS,JQuery

[HTML5/CSS3/JQUERY] application cache

APPLICATION CACHE

(ie는 지원하지 않는다.)

웹 어플리케이션을 오프라인에서도 사용할 수 있도록 웹 어플리케이션이 필요로 하는 리소스를 클라이언트 쪽에 캐시하는 기능이다.

 

모바일 기기에서 유용하게 쓰인다. network 상태가 좋지 않은 장소에서 사용할 수 있을 것이다. 

그리고 network 사용도 줄어 배터리 관리에도 도움이 된다.

 

Manifest 작성

오프라인 웹 어플리케이션은 오프라인 상태에서 웹 어플리케이션을 동작시키기 위해서 캐시를 사용한다.

그리고 캐시를 사용하기 위해서는 어떤 파일들을 캐시해야 하는 지 알려주어야 하는데, 

이때 사용하는 것이 manifest이다.

먼저 manifest파일은 브라우저에 의해서 다운로드 되는 파일이므로 웹 서버에 manifest파일에 대해 등록해 주어야 한다.(하단 참조)

 

우선 Project Explorer - Servers - Tomcat v7.0 Server at localhost-config - web.xml 에서

<mime-mapping> <extension>manifest</extension> <mime-type>text/cache-manifest</mime-type> </mime-mapping>

추가를 한다.

 

그리고

cache.manifest 파일을 만들어

 

CACHE MANIFEST

#cache version 1.0

 

CACHE:

cache.js

common.css

image/img01.jpg

image/img02.jpg

NETWORK:

image/img03.jpg

 

추가한다.(img01.jpg, img02.jpg, img03.jpg 는 아무 이미지 파일을 하면 된다.)

 

common.css

.my{ 
    background-color: #ffffff; 
    margin:    0px; 
    padding: 3px; 
    border: 5px solid #cccccc; 
    font-family: verdana, aral; 
    font-size: 22px; 
    line-height: 18px; 
    color: #666666; 
} 

img{ 
    width: 200px; 
    height: 200px; 
}

 

 

 

해당 프로그램을 실행하게 될 메인

applicationCacheTest.html

<!DOCTYPE html> 
<html manifest="cache.manifest"> 
<head> 
<meta charset="UTF-8"> 
<title>Insert title here</title> 
<!-- <script type="text/javascript" src="js/jquery-1.8.1.min.js"></script> --> 
<link rel="stylesheet" type="text/css" href="common.css"/> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="cache.js"></script> 
<script type="text/javascript"> 
    if (supports_offline()) { 
        alert("브라우저가 어플리케이션 캐시를 지원함"); 
    } else { 
        alert("브라우저가 어플리케이션 캐시를 지원안함"); 
    } 
</script> 
</head> 
<body> 
    <div class="my">어플리케이션 표시</div> 
    <img alt="그림1" src="image/img01.jpg"><br/> 
    <img alt="그림2" src="image/img02.jpg"><br/> 
    <img alt="그림3" src="image/img03.jpg"><br/> 
</body> 
</html>

 

 

'Study > HTML5,CSS,JQuery' 카테고리의 다른 글

[HTML5/CSS3/JQUERY] web worker  (1) 2019.05.22
[HTML5/CSS3/JQUERY] web storage  (0) 2019.05.22
[HTML5/CSS3/JQUERY] channel message  (0) 2019.05.22
[HTML5/CSS3/JQUERY] cross message  (0) 2019.05.22
[HTML5/CSS3/JQUERY] message event  (0) 2019.05.22