Quelle est la différence entre HTML5 AppCache et le cache normal du navigateur?

Je ne comprends pas le sens de L'AppCache HTML5. Nous avons déjà une cache normale. Si vous visitez un site web la première fois il sera déjà cache tous les actifs. Quelle valeur supplémentaire fournit AppCache? Est-ce juste une liste de fichiers pour que le navigateur sache quels actifs Télécharger, même s'ils ne sont pas référencés par le HTML en ce moment? Le navigateur assurez-vous que la mise en cache est "tout ou rien", c'est à dire qu'il n'assure que tout est référencé par le manifeste est mis en cache, ou rien tous?

12
demandé sur Hongli 2012-10-09 21:57:07

3 réponses

je pense que le point que vous êtes absent, c'est que AppCache est spécifiquement conçu pour permettre aux applications web (et aux sites web) d'être disponibles HORS LIGNE, bien que les avantages de vitesse que le cache de navigateur normal fournit, lorsque l'utilisateur est en ligne, sont également fournis par AppCache.

la différence clé avec le cache du navigateur est que vous pouvez spécifier tous les actifs que le navigateur devrait mettre en cache dans un fichier de manifeste (peut-être votre site entier) alors que le cache du navigateur ne stockera que les des pages (et des actifs associés) vous avez déjà visité.

Je ne suis pas un expert sur le AppCache, mais je sais que ce n'est pas sans problèmes. Il y a un très bon article!--9-->ici à partir d'un gars qui, utilisé AppCache pour permettre à des parties de son site mobile d'être disponibles hors ligne. Il comprend quelques justification de la décision de l'utiliser et d'un certain nombre de problèmes qu'ils ont rencontrés.

HTML5 Rocks article sur le sujet a aussi quelques bons information.

7
répondu net.uk.sweet 2012-10-10 00:35:11

AppCache utilise en fait le cache du navigateur en support de son opération. C'est le navigateur équivalent de télécharger une application pour l'exécuter localement.

La première fois qu'un utilisateur visite la page, les ressources de cette page sera chargé à partir du serveur et stockés dans le cache. Si la page spécifie un manifeste appcache, le navigateur téléchargera le manifeste et récupérera toutes les ressources qui s'y trouvent (même si elles n'apparaissent pas sur la page qui a intégré le manifeste). Ceux-ci sont ensuite stocké dans appcache.

La deuxième fois qu'un utilisateur visite la page, le navigateur va vérifier ses appcache. Si une entrée existe pour cette URL, elle chargera la page à partir d'appcache plutôt qu'à partir du serveur, sur la base des règles spécifiées dans le manifeste (le manifeste peut marquer explicitement certaines ressources telles que récupérées à partir du réseau).

une fois que le navigateur aura chargé la page d'appcache, il contactera le serveur pour voir s'il y a une mise à jour du Manifeste. Si le manifeste est mis à jour, il récupérera les ressources du Manifeste. Ces fetches sont effectuées en utilisant les règles normales de cache du navigateur, de sorte que certaines de ces ressources peuvent finalement être récupérées à partir du cache du navigateur régulier au lieu du serveur (cela vous permet de faire des mises à jour différentielles lors de l'utilisation d'appcache pour développer des applications hors ligne). La nouvelle version d'appcache est séparée de l'ancienne. Une fois la nouvelle version récupérée, l'Utilisateur continue d'interagir avec les ressources de l'ancienne version jusqu'à ce qu'elles rafraîchir la page principale, après quoi la nouvelle version est chargée et l'ancienne est rejetée.

un autre point important est qu'appcache a des règles différentes pour quand les ressources sont jetées. En gros, Appcache ne rejette jamais les dernières ressources et les cache dans leur ensemble. Pour prévenir l'abus, il impose des limites de stockage (parfois aussi peu que 5 Mo) de la taille du cache d'un site. En revanche, la mémoire cache du navigateur n'a pas de limites par site, mais permet de rejeter des ressources individuelles à partir d'un site si les limites globales de cache sont atteintes.

5
répondu Joeri Sebrechts 2013-05-08 12:14:50

la caractéristique importante de HTML 5 application cache est qu'elle rend disponible l'application web hors. Ce qui n'est pas donné par le cache normal du navigateur.

en plus de cette application, cache fournira

Vitesse - puisque tout le contenu de la page spécifiée sera mis en cache dans le navigateur, il fournira donc une meilleure vitesse que le cache du navigateur

Réduire La Charge Du Serveur

manifeste de Cache: - le fichier cache manifest est le cœur du cache de l'application HTML5. Nous pouvons spécifier ce que sont les pages qui n'ont pas besoin d'être mises en cache, ce qui ne devrait pas, et même nous pouvons réutiliser celui-ci comme un technique de traitement des erreurs, pour que nous pouvons spécifier une page d'erreur personnalisée dans le repli section pour indiquer si l'utilisateur demande un contenu qui nécessite une connectivité réseau

pour une compréhension de base sur le cache D'Application vous pouvez Voir ce tutoriel

0
répondu Rameez 2014-07-24 06:24:44