HTML5는 애플리케이션 캐시 기술을 소개합니다. 즉, 캐시 매니페스트 파일을 만들어 웹 애플리케이션을 캐시하고 사용할 수 있습니다.
응용 프로그램 캐시에 의해 가져온 세 가지 장점은 다음과 같습니다.
① 오프라인 브라우지
page 페이지의 안면 소득 속도를 높입니다
server 서버 압력을 줄입니다
메인 브라우저는 지원하지 않더라도 지원됩니다
오프라인 저장 기술HTML5는 두 가지 주요 오프라인 저장 기술을 제안합니다. 각각의 응용 프로그램 시나리오와 함께 LocalStorage 및 Application Cache는 쿠키입니다.
연습 후, 우리는 LocalStorage가 비정규 Ajax 데이터를 저장하고 케이크를해야한다고 생각합니다.
애플리케이션 캐시는 여전히 정적 자원을 저장하는 데 사용되며 여전히 건식 착빙의 문제입니다.
쿠키는 작은 단락 텍스트 (4096 바이트)를 저장할 수 있으므로 쿠키와 위의 캐시 기술의 차이점 중 하나입니다. 쿠키로 수행됩니다.이 텍스트는 사용자의 권한을 확인하기 위해 매번 서버와 브라우저 사이를 전달합니다.
따라서 응용 프로그램 캐시의 애플리케이션 시나리오는 다르므로 사용이 일관되지 않습니다.
응용 프로그램 캐시 소개응용 프로그램 캐시는 두 가지 측면을 사용합니다.
server 서버는 매니페스트 목록을 유지해야합니다
∎ 브라우저에는 단 하나의 간단한 설정 만 있습니다.
<html manifest = demo.appcache>
예를 설명하려면 :
캐시 ManifestCache :# 캐시 스타일 목록 1.css1.jpg01.jshttp : //localhost/applicationcache/02.jshttp : //localhost/application/zepto.jsnetw ork :# 4.jpgfallback :# 액세스 캐시 실패 후, 예비 액세스의 자원, 첫 번째는 액세스 소스이고, 두 번째는 파일*.html /offline.html2.jpg/3.jpg를 바꾸는 것입니다.
우선, 나는 여기에 실수를보고했다.
애플리케이션 캐시 오류 이벤트 : 매니페스트 페치 실패 (404)
이 오류의 이유는 매니페스트 파일이 올바른 마임 유형, 즉 텍스트/캐시-관리를 구성해야하기 때문입니다. 웹 서버에서 구성되어야하며 다른 서버가 다릅니다.
/ApplicationCache 01.JS 02.JS 1.JPG 2.JPG 3.JPG 4.JPG Demo.AppCache Index.html Style1.css style2.css web.config zepto.js
이런 식으로 인터넷이 분리 되더라도 해당 파일에 여전히 액세스 할 수 있습니다.
예를 들어, 여기에는 /index.html이 없습니다
매니페스트 파일은 세 부분으로 나눌 수 있습니다.
Cache Manifest-이 제목에 나열된 파일은 첫 번째 다운로드 후 캐시입니다.
네트워크 -이 제목에 나열된 파일은 캐시되지 않고 서버에 연결해야합니다.
폴백 -이 제목에 나열된 파일은 페이지에 액세스 할 수 없을 때 (예 : 404 페이지) 휴양 페이지의 페이지에 표시됩니다.
그림에서 볼 수 있듯이 HTML5는 여러 이벤트 포인트를 정의하지만 일반적으로 JS를 적극적으로 사용하여 브라우저의 처리에 완전히 의존 할 수 있습니다.
차원응용 프로그램 캐시의 크기 한계는 5m에 통합되어 있으며 여기서 테스트를 수행합니다.
볼 수 있듯이 두 CSS 파일은 현재 5m를 초과합니다.
문서는 http : //localhost/applicationcache/demo.appcacheindex.html : 1 애플리케이션 캐시 확인 dex.html : 6 get http : //localhost/applicationcache/style2.css net :: ervairdindex.html : 1 응용 프로그램 캐시에서로드되었습니다. 1 애플리케이션 캐시 noupdate eventindex.html : 11 get http : //localhost/applicationcache/2.jpg net :: err_fairdindex.html : 12 getp : // localhost/appl icationcache/3.jpg net :: err_faird
볼 수 있듯이 Style2는 더 이상 캐시 할 수 없으며 어떤 문제가 발생합니까?
예를 들어, 채널 A는 자체 애플리케이션 캐시를 유지하고 Channel B는 또한 채널 A가 피크를 사용하면 채널 B의 모든 캐시가 실패하게됩니다.
애플리케이션 캐시, 공공 자원 저장, 비즈니스 리소스를 저장하지 않는 것이 좋습니다.
몇 가지 문제업데이트 메커니즘의 관점에서, 페이지로드가 시작되거나 완료 되었기 때문에 캐시 업데이트가 완료되지 않았으며 브라우저는 여전히 만료 된 리소스를 사용합니다 리소스가 업데이트되었습니다. 두 번째로 사용됩니다. 현재 Window.Reload 이벤트가 업데이트 이벤트에서 실행되었습니다.
window.applicationCache.AdDeventListener (updateReady, function () {window.location.reload ()});
위의 예에서, 캐시는 위의 예제에서 ApplicationCache/Time과 같은 정의 파일이 아니라 index.html의 데이터가 기본적으로 저장되며 데모가 포함되어 있음을 알 수 있습니다. AppCache 파일. 많은 경우 파일 업데이트가 항상 업데이트되지 않습니다.
예를 들어, 우리는 여기서 변화를 만듭니다.
<html manifest = demo.appcache> => <html manifest = demo1.appcache>
현재 Demo.AppCache 업데이트를하지 않으면 Index.html이 캐시되고 감지가 여전히 원래 Manifest 목록이므로 캐시가 업데이트되지 않습니다.
각 페이지는 자체 매니페스트 목록을 균일하게 관리합니다. 즉, 페이지 A는 common.js로 구성되고 B 페이지는 Common.js로 구성되어 있음을 의미합니다. 변경되지 않으면 Page B는 여전히 읽습니다. 이전 버전의 문서는 특정 감각이 있지만 공개 페이지가 필요합니다.
요약가용성과 사용 편의성 측면에서, 애플리케이션 캐시는 사용 가치가 있지만, 오프라인 응용 프로그램을 진정으로 달성하기 위해서는 더 많은 노력을 기울여야합니다!