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 ?
Réponses
Trop de publicités?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.
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 .
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.
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é.
- Réponses précédentes
- Plus de réponses