Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

3일만에 끝내는 HTML, CSS, JS 기초

h44. HTML5 애플리케이션 캐시 본문

HTML

h44. HTML5 애플리케이션 캐시

눈의나라북범 2016. 6. 5. 15:41

HTML5 애플리케이션 캐시

애플리케이션 캐시는 HTML5 에서 소개되었는데, 웹 애플리케이션이 캐시되면 인터넷 연결 없이도 (캐시된 자원들을) 사용할 수 있게 됩니다.

애플리케이션 캐시는 세가지의 이점이 있습니다.

오프라인 브라우징 : 오프라인에서도 사용자가 애플리케이션을 사용할 수 있습니다.
속도 측면 : 캐시된 자원들은 더 빠르게 로드 됩니다.
서버측 부하 감소 : 브라우저는 갱신된 자원만 서버로부터 다운로드 합니다.

크롬, 파이어 폭스, 사파리, 오페라 최신 버전들이 애플리케이션 캐시를 지원하고, IE10 에서부터 지원합니다. 단, IE8, IE9 에서는 사용할 수 없습니다.

아래는, 오프라인 브라우징을 할 수 있도록 캐시 매니페스트(명시문)를 추가한 HTML 문서입니다.
<!DOCTYPE HTML> <html manifest="이름.appcache"> ... </html>
애플리케이션 캐시가 가능하게 하려면, 그 문서의 태그내에 manifest 속성을 삽입합니다. 매니페스트 속성이 삽입된 모든 페이지는 사용자가 그 웹 페이지를 방문할 때 캐시 됩니다. 매니페스트 파일의 확장자는 ".appcache" 로 하는 것이 혼란이 적습니다.

그런데 매니페스트 파일은 올바른 미디어 자료형을 가져야 하는데, 자료형이 "text/cache-manifest" 이며 반드시 서버에 구성되어 있어야 동작 합니다.

매니페스트 파일은 단순 텍스트 파일인데 브라우저에게 무엇을 캐시하고 무엇을 캐시하지 않을지를 알려 줍니다.

매니페스트 파일 내에는 세가지 영역이 있습니다.

CACHE MANIFEST
//이 헤더 아래에 리스트된 파일들은 맨 처음 동안 다운로드된 후부터 캐시됩니다.
/a.css /b.gif /c.js
NETWORK
//이 헤더 아래에 리스트된 파일들은 서버에 직접 연결되어야 하며, 캐시되지도 않습니다.
d.asp *
FALLBACK
//이 헤더 아래에 리스트된 파일들은 어떤 페이지가 접근이 불가할 때 대신할 페이지를 정의합니다.
/디렉토리/ /파일이름.html

CACHE MANIFEST 헤더 아래에 몇 개의 자원이 리스트되었습니다. 

매니페스트 파일이 로드 되면, 브라우저는 이 파일들을 웹 사이트의 루트 디렉토리로부터 다운로드 할 것입니다. 

그리고, 사용자가 인터넷에 연결되어 있지 않을 때 그 자원들은 여전히 사용가능한 상태로 남아 있게 됩니다.
NETWORK 섹션 아래의 파일 들은 캐시되지 않습니다. 예를 들면 로그온 기능이 있는 웹 페이지는 캐시되어서는 안될 것입니다. 뿐만아니라 오프라인에서 사용가능하지 않아야 합니다.

애스터리스크(별표 *) 는 다른 모든 자원이나 파일은 모두 인터넷 연결이 필요하다는 의미입니다.
FALLBACK 섹션 아래의 파일들은 인터넷 연결이 되지 않을 때 /디렉토리/ 내의 모든 파일 대신에 /파일이름.html 을 대신 보여줄 것입니다.

처음의 URI 는 자원(디렉토리) 이고, 두번째 URI 는 대체 페이지 입니다.
애플리케이션 캐시에서, 한번 캐시 되면 브라우저는 계속해서 캐시 된 버전을 보여주게 됩니다.

[광고] Udemy 동영상 강의로 보기