Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML5 로컬 스토리지(localStorage)로 이름을 영구적으로 저장하는 방법

HTML5 로컬 스토리지란?

로컬 스토리지(Local Storage)는 여러 창(윈도우) 간에 데이터를 공유할 수 있고, 현재 세션이 종료된 후에도 데이터가 유지되도록 설계된 웹 저장소입니다. 특히 웹 애플리케이션에서는 성능상의 이유로 사용자가 작성한 문서 전체나 사용자의 메일함처럼 수 메가바이트에 달하는 사용자 데이터를 클라이언트 측에 저장해야 할 때가 많습니다.

HTML5의 localStorage는 문자열 데이터를 브라우저에 저장하며, 세션이 종료된 후에도 데이터가 그대로 유지됩니다. localStorage에는 만료 기간이 없는 반면, sessionStorage는 세션 동안에만 데이터가 유효하므로 브라우저를 닫는 순간 세션과 함께 데이터가 사라진다는 점이 큰 차이입니다.

즉, localStorage에 저장한 데이터는 브라우저를 닫더라도 삭제되지 않습니다. 이번 글에서는 이름(name)을 영구적으로 저장하는 예시를 살펴보겠습니다.

HTML5 로컬 스토리지(localStorage)로 이름을 영구적으로 저장하는 방법

예제 코드

다음 코드를 실행하면 HTML5 로컬 스토리지를 사용하여 이름을 영구적으로 저장하는 방법을 직접 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <body>
      <div id = "demo"></div>
      <script>
         if (typeof(Storage) !== "undefined") {
            localStorage.setItem("name", "John");
            document.getElementById("demo").innerHTML = localStorage.getItem("name");
         } else {
            document.getElementById("demo").innerHTML =
            "The browser do not support Web Storage";
         }
      </script>
   </body>
</html>

코드 설명

1. Web Storage 지원 여부 확인
typeof(Storage) !== "undefined" 조건문을 통해 현재 브라우저가 웹 스토리지를 지원하는지 먼저 검사합니다. 지원하지 않는 구형 브라우저에서는 오류 대신 안내 문구를 출력하도록 처리했습니다.

2. 데이터 저장 — setItem()
localStorage.setItem("name", "John")은 키(key)가 "name"이고 값(value)이 "John"인 데이터를 로컬 스토리지에 저장합니다.

3. 데이터 읽기 — getItem()
localStorage.getItem("name")은 저장된 값을 불러와 화면에 출력합니다. 페이지를 새로고침하거나 브라우저를 완전히 닫았다가 다시 열어도 "John"이라는 값이 그대로 유지되는 것을 확인할 수 있습니다.

정리

localStorage는 만료 기간 없이 데이터를 영구적으로 보관할 수 있는 편리한 클라이언트 저장소입니다. 다만 용량 제한(약 5MB)이 있고 문자열만 저장 가능하다는 점, 민감한 개인정보는 저장하지 않는 것이 안전하다는 점은 함께 기억해 두면 좋습니다.