76 votes

Limite de taille du stockage local HTML5 pour les sous-domaines

Les bases de données localStorage de HTML5 sont généralement limitées en taille - les tailles standard sont de 5 ou 10 Mo par domaine. Ces limites peuvent-elles être contournées par des sous-domaines (par exemple, example.com, hack1.example.com et hack2.example.com ont tous leurs propres bases de données de 5 Mo) ? Et y a-t-il quelque chose dans la norme qui spécifie si les domaines parents peuvent accéder aux bases de données de leurs enfants ? Je ne trouve rien, et je peux voir des arguments pour le faire de l'une ou l'autre façon, mais il semble qu'il doit y avoir un modèle standard.

53voto

Vetle Points 719

De http://dev.w3.org/html5/webstorage/#disk-space

Il est recommandé de fixer une limite, le plus souvent arbitraire, de cinq mégaoctets par origine. Les commentaires sur la mise en œuvre sont les bienvenus et seront utilisés pour mettre à jour cette suggestion à l'avenir.

Il mentionne également que :

Les agents utilisateurs doivent se prémunir contre les sites stockant des données sous les origines d'autres sites affiliés, par exemple en stockant jusqu'à la limite en a1.exemple.com, a2.exemple.com, a3.exemple.com, etc., contournant ainsi l'obligation d'enregistrement de l'origine. en contournant la limite de stockage principale de example.com.

14voto

Jörn Zaefferer Points 3798

Voici le résultat d'un test assez détaillé couvrant de nombreux navigateurs de bureau et mobiles : http://dev-test.nemikor.com/web-storage/support-test/

Ce qui confirme ce rapport de bug : http://code.google.com/p/chromium/issues/detail?id=58985#c15

Vous ne pouvez compter que sur 2,5 Mo, et non 5 Mo, en fonction de la longueur de chaîne que vous pouvez stocker.

9voto

Kevin Hakanson Points 15498

J'ai manqué cette question lorsque j'ai demandé " 5 Mo est-il la limite de facto pour le stockage Web du W3C ? "mais j'ai obtenu pratiquement la même réponse. Si vous voulez plus d'informations, j'ai indiqué dans ma question les limites spécifiques de certains navigateurs.

6voto

Clay Nichols Points 4252

Une meilleure solution consiste à utiliser le [HTML5 IndexedDB pour le stockage hors ligne]. 1

Il semble que ce soit le remplacement de l'ancien Web SQL (qui semble mal nommé car il s'agit d'un logiciel pour hors ligne stockage) est : DB indexée, qui permet le stockage hors ligne et est toujours supportée :

IndexedDB est nouveau dans HTML5. Les bases de données Web sont hébergées et persistantes dans le navigateur de l'utilisateur. En permettant aux développeurs de créer des applications avec des capacités d'interrogation riches, il est prévu qu'une nouvelle race d'applications web d'applications Web qui pourront fonctionner en ligne et en temps réel. hors ligne .

Plus d'informations et une application de test à l'adresse suivante http://www.html5rocks.com/en/tutorials/indexeddb/todo/

-2voto

10basetom Points 400

Si votre objectif final est de stocker plus de 5 Mo, vous devriez envisager d'utiliser le WebStorage de HTML5. Voici un tutoriel sur la façon de l'utiliser :

http://www.html5rocks.com/tutorials/webdatabase/todo/

En reprenant l'exemple ci-dessus, si vous vouliez augmenter la taille de votre base de données à 15 Mo, vous utiliseriez le code suivant :

var dbSize = 15 * 1024 * 1024; // 15MB

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X