웹 스토리지
웹 스토리지 (Web Storage)는 웹 브라우저가 사용자의 컴퓨터에 데이터를 로컬로 저장할 수 있도록 하는 메커니즘이다. 쿠키와 유사하지만, 훨씬 더 큰 용량을 저장할 수 있고, 서버로 전송되지 않아 성능상의 이점을 가진다. 웹 스토리지는 HTML5 표준의 일부로 도입되었으며, key-value 쌍으로 데이터를 저장하고 검색하는 방식을 제공한다.
웹 스토리지는 크게 두 가지 유형으로 나뉜다.
-
로컬 스토리지 (Local Storage): 로컬 스토리지는 데이터를 브라우저를 닫거나 컴퓨터를 재시작해도 영구적으로 보관한다. 동일한 출처 (origin - 프로토콜, 호스트, 포트의 조합)를 가진 모든 웹 페이지에서 접근할 수 있다. 사용자가 명시적으로 데이터를 삭제하지 않는 한 데이터는 유지된다.
-
세션 스토리지 (Session Storage): 세션 스토리지는 현재 브라우저 세션 동안만 데이터를 보관한다. 브라우저 탭 또는 창을 닫으면 데이터가 자동으로 삭제된다. 이 또한 동일한 출처를 가진 웹 페이지에서 접근할 수 있지만, 로컬 스토리지와 달리 세션이 종료되면 데이터가 사라지므로 임시적인 데이터를 저장하는 데 유용하다.
웹 스토리지는 JavaScript를 사용하여 데이터를 저장하고 검색한다. localStorage
와 sessionStorage
객체를 통해 각각 로컬 스토리지와 세션 스토리지에 접근할 수 있다. 일반적인 사용법은 다음과 같다.
- 데이터 저장:
localStorage.setItem('key', 'value')
또는sessionStorage.setItem('key', 'value')
- 데이터 검색:
localStorage.getItem('key')
또는sessionStorage.getItem('key')
- 데이터 삭제:
localStorage.removeItem('key')
또는sessionStorage.removeItem('key')
- 모든 데이터 삭제:
localStorage.clear()
또는sessionStorage.clear()
웹 스토리지는 사용자 설정, 최근 검색어, 오프라인 작업 지원 등 다양한 용도로 사용될 수 있다. 쿠키보다 더 많은 데이터를 저장할 수 있고 서버로 전송되지 않기 때문에 보안 및 성능상의 이점이 있지만, 클라이언트 측에 저장되므로 민감한 정보는 암호화하여 저장하는 것이 좋다.