WebStorage는 HTML5의 로컬 저장소 솔루션 중 하나입니다. HTML5의 WebStorage 개념이 도입되기 전에는 IE 사용자 데이터, 플래시 쿠키, Google Gears 및 기타 신뢰할 수 없는 솔루션이 제거된 브라우저 호환 로컬 저장소 솔루션입니다. 쿠키만 사용합니다. 일부 학생들은 쿠키 로컬 저장소가 있는데 왜 WebStorage 개념을 도입해야 합니까?라고 질문할 수 있습니다.
쿠키가 왜 이래
쿠키의 단점은 너무나 뻔합니다
1. 데이터 크기: 저장 컨테이너로서 쿠키의 크기는 약 4KB로 제한되어 있으며 이는 특히 현재의 복잡한 비즈니스 로직 요구 사항에 대해 일부 구성 필드를 저장하는 것 외에도 간단한 저장도 가능합니다. 단일 값 정보. 대부분의 개발자는 실제로 무엇을 기대해야 할지 모릅니다.
2. 보안 문제: HTTP 요청의 쿠키는 일반 텍스트로 전달되므로(HTTPS는 그렇지 않음) 보안 문제는 여전히 큽니다.
3. 네트워크 부담: 쿠키가 각 HTTP 요청에 첨부되고 HttpRequest 및 HttpResponse의 헤더로 전송되므로 불필요한 트래픽 손실이 추가된다는 것을 알고 있습니다.
웹스토리지
WebStorage는 HTML을 위한 새로운 로컬 저장소 솔루션 중 하나이지만 쿠키를 대체하기 위해 개발된 표준은 아닙니다. 쿠키는 클라이언트 및 서버 통신을 처리하는 HTTP 프로토콜의 일부로 필수적입니다. 구현에 따라 다릅니다. 상태 지속성. WebStorage의 목적은 쿠키를 사용해서는 안 되지만, 쿠키를 사용해야 하는 로컬 저장 문제를 해결하는 것입니다.
WebStorage는 localStorage와 sessionStorage라는 두 가지 유형의 API를 제공합니다. 두 가지의 차이점은 이름을 보면 대략적으로 알 수 있습니다. localStorage는 명시적으로 삭제되거나 지워지지 않는 한 데이터를 로컬에 영구적으로 저장합니다. 해당 세션은 일정 기간 동안 유효하며 브라우저를 닫으면 자동으로 삭제됩니다. 두 개체 모두 공통 API를 가지고 있습니다.
1. 길이: 저장소의 키-값 쌍 수를 가져오는 데 사용되는 유일한 속성, 읽기 전용입니다.
2. key: 인덱스를 기반으로 스토리지의 키 이름을 가져옵니다.
3. getItem: 키를 기반으로 스토리지의 해당 값을 가져옵니다.
4. setItem: 키-값 쌍을 추가합니다. 저장소
5.removeItem: 키 이름에 따라 키-값 쌍을 삭제합니다
6. 지우기: 저장소 개체를 지웁니다
WebStorage 사용 방법
WebStorage를 구현한 브라우저에서 페이지에는 localStorage와 sessionStorage라는 두 개의 전역 개체가 있습니다.
localStorage를 예로 들어 보겠습니다. , 간단한 연산 코드를 보세요
동일한 HTML5가 정의하는 저장소 작업, WebStorage에서 WebStorage发生变化적 时候触发, 可以용 此监视가 다른 저장소에 대한 작업
🎜>
Lorsque vous cliquez sur le lien sur la page index.php pour accéder à test.php, vous pouvez voir le journal de sortie de la console d'index.php :
userName est modifié de Byron à Casper par http://localhost/test .php
vrai
Pourquoi c'est mieux que les cookies
1. En termes de capacité, WebStorage fournit généralement 5M d'espace de stockage dans les navigateurs, ce qui n'est pas suffisant pour stocker des vidéos et des images, mais c'est suffisant pour la plupart des opérations
2 En termes de sécurité, WebStorage ne le fait pas. joue un rôle L'en-tête HTTP est envoyé par le navigateur, il est donc relativement sûr
3. En termes de trafic, comme WebStorage n'est pas transmis au serveur, le trafic inutile peut être économisé, ce qui reste très pratique pour les hautes fréquences visites ou pages Web ciblant les appareils mobiles. Pas mal.
Cela ne signifie pas que WebStorage peut remplacer les cookies, mais avec WebStorage, les cookies ne peuvent faire que ce qu'ils sont censés faire : servir de canal d'interaction entre le client et le serveur et maintenir l'état du client. WebStorage est donc supérieur aux cookies, tout comme une solution de stockage local.
Choses à noter
1. Compatibilité des navigateurs, c'est presque la plus simple à implémenter parmi toutes les nouvelles fonctionnalités HTML5, car les navigateurs IE8+ la prennent en charge, et dans IE7, IE6 peut être implémenté. en utilisant les données utilisateur d'IE.
2. Puisque localStorage et sessionStorage sont tous deux des objets, vous pouvez également obtenir et modifier des paires clé-valeur via ".key" ou "[key]", mais cela n'est pas recommandé.
Copier le code Le code est le suivant :
localStorage.userName='Frank'; console.log(localStorage['userName']); 3. Bien que localStorage soit stocké localement, différents navigateurs stockent les données indépendamment, de sorte que le localStorage stocké sur Chrome n'est pas disponible. sur FireFox. 4. localStorage et sessionStorage ne peuvent stocker que des types de chaînes. Pour les objets complexes, vous pouvez utiliser le stringify et l'analyse des objets JSON fournis par ECMAScript pour les gérer. Pour les versions inférieures d'IE, vous pouvez utiliser json2.js. 5. En plus de la console, Chrome propose également une méthode d'affichage très intuitive du stockage local, très pratique lors du débogage |