로컬스토리지(localStorage)와 세션스토리지(sessionStorage)는 둘 다 브라우저의 웹 스토리지(Web Storage) API에 속하는 기능으로, 사용자의 로컬 환경(즉, 브라우저)에 데이터를 저장하는 방법을 제공한다. 이들은 쿠키와 비슷한 역할을 하지만, 용량이 더 크고 서버와의 통신 없이 클라이언트 측에 데이터를 저장할 수 있다.
로컬스토리지 ( localStorage ) 특징
- 데이터 지속성
- 로컬스토리지에 저장된 데이터는 사용자가 브라우저를 닫거나 컴퓨터를 재부팅해도 삭제되지 않는다. 명시적으로 데이터를 삭제하거나 코드로 제거하지 않는 한, 해당 데이터는 무기한으로 유지된다.
- 데이터 용량
- 로컬스토리지에 저장할 수 있는 데이터의 용량은 보통 브라우저마다 다르지만, 일반적으로 도메인당 약 5~10MB 정도이다. 이는 쿠키(약 4KB)보다 훨씬 많은 데이터를 저장할 수 있게 해준다.
- 데이터 접근성
- 같은 도메인 내에서만 접근 가능하다. 즉, 같은 도메인에 속한 모든 웹 페이지에서 로컬스토리지에 접근할 수 있다. 단, 다른 도메인이나 서브도메인에서는 접근이 불가능하다.
- 데이터 형식
- 로컬스토리지에 저장되는 데이터는 문자열(string) 형식이어야 한다. 따라서 객체나 배열 등을 저장할 때는 JSON.stringify()를 사용해 문자열로 변환한 후 저장하고, 불러올 때는 JSON.parse()를 사용해 다시 객체나 배열로 변환해야 한다.
- 사용법
- 저장하기: localStorage.setItem('key', 'value');
- 불러오기: const value = localStorage.getItem('key');
- 삭제하기: localStorage.removeItem('key');
- 전체 삭제: localStorage.clear();
세션스토리지 ( sessionStorage )
세션스토리지는 로컬스토리지와 유사하지만, 데이터의 생명 주기가 다르다. 세션스토리지는 로컬스토리지와 유사하지만, 데이터의 생명 주기가 다르다.
주의사항
로컬스토리지는 브라우저 내에 데이터를 영구적으로 저장하는 데 매우 유용한 도구이다. 게시판과 같은 웹 애플리케이션에서는 사용자의 설정, 글의 임시 저장 등을 위해 로컬스토리지를 효과적으로 활용할 수 있다. 다만, 보안이 중요한 데이터는 로컬스토리지에 저장하지 말아야 하며, 민감한 데이터는 반드시 서버에 안전하게 저장하도록 해야 한다.
728x90
'JS' 카테고리의 다른 글
JavaScript 게시판 만들기 - 프로젝트 뼈대 만들기 (0) | 2024.08.21 |
---|---|
JavaScript 게시판 만들기 - 실행환경 구축 ( VS CODE ) (0) | 2024.08.21 |
JS 이벤트 처리 - 8 ( AJAX 와 Fetch API ) (0) | 2024.08.02 |
JS 이벤트 처리 - 7 ( Promise ) (0) | 2024.08.02 |
JS 이벤트 처리 - 6 ( 배너 변경하기 ) (0) | 2024.08.01 |