> 웹 프론트엔드 > H5 튜토리얼 > 클라이언트 측 데이터 스토리지에 HTML5 웹 스토리지 API (LocalStorage 및 SessionStorage)를 어떻게 사용합니까?

클라이언트 측 데이터 스토리지에 HTML5 웹 스토리지 API (LocalStorage 및 SessionStorage)를 어떻게 사용합니까?

百草
풀어 주다: 2025-03-12 15:16:17
원래의
128명이 탐색했습니다.

클라이언트 측 데이터 스토리지를위한 HTML5 웹 스토리지 API (LocalStorage 및 SessionStorage) 사용

HTML5 웹 스토리지 API는 사용자의 웹 브라우저 내에 키 값 데이터 쌍을 저장하기위한 두 가지 메커니즘 인 localStoragesessionStorage 제공합니다. 둘 다 클라이언트 측에서 데이터를 지속하는 간단한 방법을 제공하여 소량의 정보를 검색하거나 업데이트하기 위해 빈번한 서버 라운드 트립이 필요하지 않습니다. 이는 특히 사용자 선호도 기억, 쇼핑 카트 유지 관리 또는 임시 응용 프로그램 상태 저장과 같은 작업의 응용 프로그램 성능 및 사용자 경험을 크게 향상시킵니다.

API를 사용하려면 브라우저의 window 객체를 통해 API에 액세스 할 수 있습니다. 브라우저가 닫히고 다시 열린 후에도 localStorage 데이터를 무기한으로 유지합니다. 그러나 sessionStorage 데이터는 단일 브라우저 세션의 지속 시간에만 사용할 수 있습니다. 브라우저 창 또는 탭을 닫으면 sessionStorage 데이터가 지워집니다.

다음은 localStorage 사용하여 데이터를 설정하고 검색하는 기본 예입니다.

 <code class="javascript">// Store data localStorage.setItem('username', 'JohnDoe'); // Retrieve data let username = localStorage.getItem('username'); console.log(username); // Output: JohnDoe // Remove data localStorage.removeItem('username'); // Clear all data localStorage.clear();</code>
로그인 후 복사

동일한 방법 ( setItem , getItem , removeItem , clear )도 sessionStorage 에도 적용됩니다. localStoragesessionStorage 사이의 선택은 응용 프로그램의 특정 요구에 따라 다릅니다.

LocalStorage와 SessionStorage의 주요 차이점

localStoragesessionStorage 의 주요 차이점은 지속성에 있습니다.

  • LocalStorage : 데이터는 브라우저 세션에서 무기한 지속됩니다. 이는 사용자가 브라우저를 닫고 나중에 반환 한 후에도 유지 해야하는 사용자 기본 설정, 설정 또는 기타 정보를 저장하는 데 이상적입니다. localStorage.removeItem() 또는 localStorage.clear() 사용하여 명시 적으로 제거 될 때까지 데이터는 저장됩니다.
  • SessionStorage : 데이터는 단일 브라우저 세션 기간 동안 만 사용할 수 있습니다. 브라우저 탭 또는 창을 닫으면 모든 sessionStorage 데이터가 지워집니다. 이는 쇼핑 카트 또는 임시 응용 프로그램 상태와 같은 단일 세션 내에서만 관련된 임시 데이터에 적합합니다.

또 다른 미묘한 차이점은 sessionStorage 다른 브라우저 탭이나 동일한 원점에서 유래 한 Windows에서 공유되지 않는다는 것입니다. 동일한 웹 사이트에 대해 여러 탭을 열면 각 탭에는 고유 한 독립적 인 sessionStorage 가 있습니다. 반면에 localStorage 는 동일한 원점의 모든 탭과 창에서 공유됩니다.

HTML5 웹 스토리지를 사용할 때 잠재적 보안 및 개인 정보 보호 문제 처리

편리하지만 HTML5 웹 스토리지 사용 잠재적 보안 및 개인 정보 보호 문제가 발생합니다.

  • 데이터 노출 : 동일한 웹 사이트에서 실행되는 악성 JavaScript 코드 (예 : XSS 취약점을 통해)는 localStoragesessionStorage 에 저장된 데이터에 액세스하고 잠재적으로 조작 할 수 있습니다.
  • 프라이버시 문제 : localStoragesessionStorage 에 저장된 데이터는 저장된 웹 사이트에만 액세스 할 수 있지만 민감한 정보는 직접 저장해서는 안됩니다. 저장하기 전에 민감한 데이터에 암호화 또는 해싱 기술을 사용하는 것을 고려하십시오.
  • 스토리지 한도 : 브라우저는 웹 스토리지를 사용하여 저장할 수있는 데이터 양에 한계를 부여합니다. 이러한 한계를 초과하면 오류가 발생할 수 있습니다. 항상 저장하는 데이터의 규모를 염두에 두십시오.

이러한 위험을 완화하려면 :

  • 민감한 데이터 최소화 : 웹 스토리지에서 직접 비밀번호, 신용 카드 번호 또는 개인 식별 정보 (PII)와 같은 매우 민감한 정보를 저장하지 마십시오.
  • 암호화 : 민감한 데이터를 저장 해야하는 경우 웹 스토리지에 저장하기 전에 암호화하십시오. 강력한 암호화 알고리즘을 사용하고 암호화 키를 안전하게 관리하십시오.
  • 입력 유효성 검사 : 주입 공격을 방지하기 위해 저장하기 전에 모든 데이터를 검증하십시오.
  • HTTPS : 항상 HTTPS를 사용하여 웹 사이트에 전송되는 데이터가 도청으로부터 암호화되고 보호되도록하십시오.

HTML5 웹 스토리지 API를 사용하여 저장된 데이터 검색 및 조작

getItem() 사용하여 데이터 검색은 간단합니다. 데이터를 조작하려면 데이터를 검색하고 수정 한 다음 setItem() 사용하여 다시 저장해야합니다.

 <code class="javascript">// Retrieve data let storedData = localStorage.getItem('myData'); // Parse JSON data (if stored as JSON) let myObject = JSON.parse(storedData); // Modify the data myObject.name = "Updated Name"; // Stringify the object back to JSON let updatedData = JSON.stringify(myObject); // Store the updated data localStorage.setItem('myData', updatedData);</code>
로그인 후 복사

이 예제는 JSON 객체로 저장된 데이터를 검색하여 수정 한 다음 업데이트 된 객체를 localStorage 에 다시 저장합니다. 객체 또는 배열을 저장하기 전에 항상 JSON.stringify() JSON.parse() 합니다. 간단한 문자열 또는 숫자의 경우 getItem()setItem() 의 직접 사용으로 충분합니다. for 루프 및 길이 속성을 사용하여 localStorage 통해 반복하여 저장된 모든 키 값 쌍에 액세스 할 수 있습니다. 동일한 원칙이 sessionStorage 에 적용됩니다.

위 내용은 클라이언트 측 데이터 스토리지에 HTML5 웹 스토리지 API (LocalStorage 및 SessionStorage)를 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿