1461 votes

Stockage local ou cookies

Je veux réduire les temps de chargement de mes sites web en déplaçant tous les cookies dans le stockage local puisqu'ils semblent avoir la même fonctionnalité. Y a-t-il des avantages ou des inconvénients (notamment en termes de performances) à utiliser le stockage local pour remplacer la fonctionnalité des cookies, hormis les problèmes de compatibilité évidents ?

20voto

benjaminz Points 952

Il convient également de mentionner que localStorage ne peut pas être utilisé lorsque les utilisateurs naviguent en mode "privé" dans certaines versions de Safari mobile.

Cité dans les archives WayBack de Sujet de MDN sur Window.localStorage en 2018 :

Note : À partir de iOS 5.1, Safari Mobile stocke localStorage dans le dossier cache, qui est soumis à un nettoyage occasionnel, à la demande du système d'exploitation, généralement si l'espace est insuffisant. Le mode de navigation privée de Safari Mobile empêche également l'écriture dans le dossier de la mémoire cache. localStorage entièrement.

15voto

Kai Points 350

Cookie :

  • est accessible par JavaScript así que Données du cookie peuvent être volés par XSS (Cross Site Scripting attack) mais le cadre HttpOnly flag à Cookie empêche l'accès par JavaScript así que Données du cookie est protégé de Attaque XSS .

  • est vulnérable à CSRF (Cross Site Request Forgery) mais le cadre Drapeau SameSite avec Lax a Cookie atténue CSRF et la mise en place Drapeau SameSite avec Strict a Cookie empêche CSRF .

  • doit avoir date d'expiration alors quand date d'expiration passe, Cookie est supprimé automatiquement, donc même si vous avez oublié de supprimer Cookie , Cookie est supprimé automatiquement en raison de date d'expiration .

  • Il s'agit de 4KB comme taille commune (selon les navigateurs).

Stockage local :

  • est accessible par JavaScript así que Données du stockage local peuvent être volés par XSS (Cross Site Scripting attack) alors, aussi logn que j'ai fait des recherches, il n'y a pas de prévention facile pour Stockage local de XSS attaque .

  • n'est pas vulnérable à CSRF (Cross Site Request Forgery) .

  • n'a pas date d'expiration donc si vous avez oublié de supprimer Stockage local données , Données de stockage local peut rester pour toujours.

  • Il s'agit de 5MB comme taille commune (selon les navigateurs).

Je recommande d'utiliser Cookie para données sensibles y Stockage local para données non sensibles .

12voto

Avinash Malhotra Points 332

Le stockage local peut stocker jusqu'à 5 mb de données hors ligne, tandis que la session peut également stocker jusqu'à 5 mb de données. Mais les cookies ne peuvent stocker que 4 kb de données en format texte.

Données de stockage LOCAl et Session au format JSON, donc facile à analyser. Mais les données des cookies sont au format chaîne.

12voto

pop850 Points 1580

En fait, la vitesse de stockage local dépend largement du navigateur utilisé par le client, ainsi que du système d'exploitation. Chrome ou Safari sur un Mac peut être beaucoup plus rapide que Firefox sur un PC, surtout avec les nouvelles API. Comme toujours, le test est votre ami (je n'ai pas pu trouver de benchmarks).

Je ne vois pas vraiment de différence entre les cookies et le stockage local. De plus, vous devriez être plus préoccupé par les problèmes de compatibilité : tous les navigateurs n'ont pas encore commencé à prendre en charge les nouvelles API HTML5, les cookies seraient donc votre meilleure option pour la vitesse et la compatibilité.

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