HTML 로컬 스토리지
- 이전 페이지 HTML5 드래그 앤 드롭
- 다음 페이지 HTML5 애플리케이션 캐시
HTML 로컬 스토리지: 쿠키보다 우수합니다.
HTML 로컬 스토리지는 무엇인가요?
로컬 스토리지(LOCAL STORAGE)를 통해 웹 애플리케이션이 사용자 브라우저에서 데이터를 로컬에 저장할 수 있습니다.
HTML5 이전에는, 애플리케이션 데이터는 쿠키에만 저장될 수 있었으며, 각 서버 요청에 대해 저장됩니다. 로컬 스토리지는 더 안전하며, 웹사이트 성능에 영향을 미치지 않고 대량의 데이터를 로컬에 저장할 수 있습니다.
쿠키와 달리, 저장 제한이 훨씬 큽니다(최소 5MB) 그리고 정보는 서버로 전송되지 않습니다.
로컬 스토리지는 원산지(원산지 도메인 및 프로토콜)를 통해 저장됩니다. 모든 페이지는 원산지에서 동일한 데이터를 저장하고 액세스할 수 있습니다.
브라우저 지원
표에 나타난 배열은 로컬 스토리지를 완전히 지원하는 첫 번째 브라우저 버전을 나타냅니다.
API | |||||
Web Storage | 4.0 | 8.0 | 3.5 | 4.0 | 11.5 |
HTML 로컬 스토리지 객체
HTML 로컬 스토리지는 클라이언트에서 데이터를 저장하는 두 개의 객체를 제공합니다:
- window.localStorage - 만료일이 없는 데이터를 저장합니다
- window.sessionStorage - 세션에 데이터를 저장합니다(브라우저 태그 페이지를 닫으면 데이터가 손실됩니다)
로컬 스토리지를 사용할 때, localStorage와 sessionStorage의 브라우저 지원을 확인하세요:
if (typeof(Storage) !== "undefined") { // localStorage/sessionStorage에 대한 코드 } else { // 죄송합니다! Web Storage를 지원하지 않습니다.. }
localStorage 객체
localStorage 객체는 만료일이 없는 데이터를 저장합니다. 브라우저가 닫혀지면 데이터가 지워지지 않으며, 다음 날, 주 또는 연도 중에는 사용할 수 있습니다.
예제
// 저장 localStorage.setItem("lastname", "Gates"); // 가져오기 document.getElementById("result").innerHTML = localStorage.getItem("lastname");
예제 설명:
- localStorage 이름/값 쌍을 생성합니다. name="lastname", value="Gates"
- "lastname"의 값을 가져오고, 그것을 id="result"의 요소에 삽입합니다
이 예제는 다음과 같이도 작성할 수 있습니다:
// 저장 localStorage.lastname = "Gates"; // 가져오기 document.getElementById("result").innerHTML = localStorage.lastname;
"lastname" localStorage 항목을 제거하는 문법은 다음과 같습니다:
localStorage.removeItem("lastname");
주의事项: 이름/값 쌍은 항상 문자열로 저장됩니다. 필요하다면 다른 형식으로 변환하도록 기억하세요!
사용자가 버튼을 클릭한 횟수를 세는 예제입니다. 코드에서 문자열 값을 숫자로 변환하여 계속 증가시킵니다:
예제
if (localStorage.clickcount) { localStorage.clickcount = Number(localStorage.clickcount) + 1; } else { localStorage.clickcount = 1; } document.getElementById("result").innerHTML = "이 버튼을 클릭한 횟수는 " + localStorage.clickcount + " 번.";
sessionStorage 객체
sessionStorage 객체는 localStorage 객체와 동일하지만, 특정 session에만 데이터를 저장합니다. 사용자가 특정 브라우저 탭을 닫으면 데이터도 지워집니다.
다음 예제는 현재 session에서 사용자가 버튼을 클릭한 횟수를 세는 방법을 보여줍니다:
예제
if (sessionStorage.clickcount) { sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1; } else { sessionStorage.clickcount = 1; } document.getElementById("result").innerHTML = "이 session에서, 이 버튼을 클릭한 횟수는 " + sessionStorage.clickcount + " 번.";
- 이전 페이지 HTML5 드래그 앤 드롭
- 다음 페이지 HTML5 애플리케이션 캐시