2012-10-09 3 views
12

Non capisco il significato dell'appCache HTML5. Abbiamo già una cache normale. Se visiti un sito Web, la prima volta memorizzerà già tutte le risorse nella cache. Quale valore extra fornisce AppCache? È solo un elenco di file in modo che il browser sappia quali risorse scaricare, anche se non sono referenziate dall'HTML in questo momento? Il browser si assicura che la memorizzazione nella cache sia "tutto-o-niente", cioè garantisce che tutto ciò che fa riferimento al manifest sia memorizzato nella cache o nulla del tutto?Qual è la differenza tra HTML5 AppCache e la normale cache del browser?

risposta

7

Credo che il punto che ti manca è che AppCache è specificamente progettato per consentire applicazioni web (e siti web) per essere messi a disposizione in linea, anche se gli stessi benefici di velocità che la cache del browser normale fornisce, quando l'utente è in linea , sono forniti anche da AppCache.

La differenza fondamentale con la cache del browser è che è possibile specificare tutti i beni il browser deve cache in un file manifesto (in teoria l'intero sito), mentre la cache del browser memorizza solo le pagine (e le attività associate) si ha in realtà visitato.

Non sono esperto di AppCache, ma so che non è privo di problemi. C'è un ottimo articolo here da un utente che ha utilizzato AppCache per consentire la disponibilità di parti del suo sito per dispositivi mobili offline. Comprende alcune motivazioni sulla loro decisione di usarlo e una serie di trucchi che hanno incontrato nel farlo.

Questo HTML5 Rocks article sul soggetto ha anche alcune buone informazioni.

5

AppCache utilizza effettivamente la cache del browser a supporto della sua operazione. È l'equivalente del browser del download di un'applicazione da eseguire localmente.

La prima volta che un utente visita la pagina, le risorse di tale pagina verranno caricate dal server e archiviate nella cache normale. Se la pagina specifica un manifest dell'appcache, il browser scaricherà il manifest e recupererà tutte le risorse presenti (anche se non compaiono nella pagina che ha incorporato il manifest). Questi vengono quindi memorizzati in appcache.

La seconda volta che un utente visita la pagina, il browser controllerà la sua appcache. Se esiste una voce per quell'URL, caricherà la pagina da appcache anziché dal server, in base alle regole specificate nel manifest (il manifest può contrassegnare esplicitamente alcune risorse come recuperate dalla rete).

Dopo che il browser carica la pagina da appcache, contatta il server per verificare se è presente un manifest aggiornato. Se il manifest viene aggiornato, recupera le risorse dal manifest. Questi recuperi vengono eseguiti utilizzando le normali regole della cache del browser, pertanto alcune di queste risorse potrebbero effettivamente essere recuperate dalla normale cache del browser anziché dal server (questo consente di eseguire aggiornamenti differenziali quando si utilizza appcache per sviluppare app offline). La nuova versione dell'appcache è separata dalla vecchia versione. Dopo che la nuova versione è stata recuperata, l'utente continua a interagire con le risorse della vecchia versione fino a quando non aggiorna la pagina principale, dopo di che la nuova versione viene caricata e la vecchia viene scartata.

Un altro punto importante è che appcache ha regole diverse per quando le risorse vengono scartate. Appcache in pratica non elimina mai l'ultimo set di risorse e le memorizza nella cache nel suo complesso. Per prevenire gli abusi applica limiti di memorizzazione (a volte anche 5 MB) di quanto può essere grande la cache di un sito. Al contrario, la cache del browser non ha limiti per sito, ma eliminerà le singole risorse da un sito se vengono raggiunti i limiti della cache globale.

0

L'importante funzionalità della cache di applicazioni HTML 5 è che rende disponibile l'applicazione Web non in linea. Quale non è dato dalla normale cache del browser.

In aggiunta a questa cache applicazione fornirà

Velocità - dal momento che l'intero contenuto della pagina specificata verranno memorizzati nella cache del browser in modo che fornirà una velocità migliore di cache del browser

Ridurre Server Carica - Non c'è bisogno di un post di ritorno tutto il tempo, poiché tutti i contenuti sono presenti nella cache, finché non ci sono cambiamenti nel file Manifest

Cache manifest: - Il file manifest della cache è il cuore della cache dell'applicazione HTML5. Possiamo specificare quali sono le pagine che non devono essere memorizzate nella cache, cosa non dovrebbe, e anche riusare a riutilizzare questa come una tecnica di gestione degli errori , per cui possiamo specificare una pagina di errore personalizzata nella sezione FALLBACK per mostrare se la richiesta dell'utente un contenuto che richiede la connettività di rete

Per una conoscenza di base sulla cache di applicazione è possibile See this tutorial