localStorage는 언제 지워 집니까?


112

데이터가 localStorage에 얼마나 오래 보관 될 것으로 예상 할 수 있습니까? 평균 사용자의 localStorage 데이터는 얼마나 오래 지속됩니까? 사용자가 지우지 않으면 브라우저가 다시 설치 될 때까지 지속됩니까?

이것은 브라우저에서 일관성이 있습니까?

답변:


99

W3C 초안에 따르면

사용자 에이전트는 보안상의 이유로 또는 사용자가 요청한 경우에만 로컬 저장 영역에서 데이터를 만료해야합니다. 사용자 에이전트는 데이터에 액세스 할 수있는 스크립트가 실행되는 동안 데이터 삭제를 항상 피해야합니다.

따라서 브라우저가 사양을 따르는 경우 사용자가 모든 브라우저에서 제거 할 때까지 지속되어야합니다. 내 프로젝트에서 삭제 된 항목을 찾지 못했습니다.

읽기 좋은 기사는 http://ejohn.org/blog/dom-storage/입니다.


"사용자가 요청 함"= 사용자가 데이터를 지울 때. 브라우저 별 정리 및 수행 방법 은 stevesouders.com/blog/2012/09/10/clearing-browser-data 를 참조하십시오 .
Julien Kronegg 2012

Chrome을 업데이트 할 때 로컬 저장소를 지울 수 있습니다. 이것은 지난 12 개월 동안 두 번 나에게 일어났습니다. 데이터가 중요한 경우 사용자가 관련 데이터를 파일로 다운로드하도록 활성화하고 권장하여이 경우 다시 설치할 수 있도록합니다.
user2677034

116

localStorage는 Web Storage, HTML5 Storage 및 DOM Storage로도 알려져 있습니다 (모두 동일한 의미).

로컬 스토리지는, sessionStorage와 유사하다 점을 제외하고 로컬 스토리지에 저장된 데이터가 만기 시간이없는 sessionStorage에 저장된 데이터가 삭제됩니다 동안, 때 브라우징 세션이 종료 (즉, 브라우저 / 브라우저 탭을 닫을 때). 세션 저장소는 localStorage보다 훨씬 덜 사용되며 현재 브라우저 탭에만 존재합니다. 동일한 웹 사이트로로드 된 두 개의 탭도 다른 sessionStorage 데이터를 갖게됩니다. sessionStorage 데이터는 페이지 새로 고침을 유지하지만 탭을 닫거나 열 수는 없습니다. 반면에 LocalStorage 데이터는 동일한 출처의 모든 탭과 창간에 공유됩니다. LocalStorage 데이터는 만료되지 않습니다. 브라우저를 다시 시작한 후에도 OS를 재부팅 한 후에도 유지됩니다. 출처

localStorage는 모든 브라우저에서 사용할 수 있지만 지속성은 일관되게 구현되지 않습니다. 특히, localStorage는 사용자 작업에 의해 지워질 수 있으며 실수로 지워질 수 있습니다 (누가 모든 쿠키를 지우면 localStorage도 지워진다 고 생각합니까?).

Firefox에서는 다음 세 가지 조건이 충족되면 localStorage가 지워집니다. (a) 사용자가 최근 기록을 지우고, (b) 쿠키가 지워지도록 선택되고, (c) 시간 범위가 "Everything"입니다.

Chrome에서 다음 조건이 충족되면 localStorage가 삭제됩니다. (a) 인터넷 사용 기록 삭제, (b) '쿠키 및 기타 사이트 데이터'선택, (c) 기간이 '시작 시점부터'입니다. Chrome에서는 이제 특정 사이트에 대한 localStorage삭제할 수도 있습니다 .

IE에서 localStorage를 지우려면 : (a) 도구-인터넷 옵션, (b) 일반 탭, (c) 종료시 검색 기록 삭제, (d) "쿠키 및 웹 사이트 데이터"(또는 "임시 인터넷 파일 및 웹 사이트 파일 ")이 선택되면 (e) 상단의"즐겨 찾기 웹 사이트 데이터 보존 "을 선택 취소하는 것이 좋습니다.

Safari에서 : (a) Safari 클릭 (b) 환경 설정 (c) 개인 정보 탭 선택 (d) 모든 웹 사이트 데이터 제거 클릭 (e) 지금 제거 클릭

Opera : Opera 사이트의 localStorage에 대한 훌륭한 기사에도 불구하고, 저는 사용자에게 localStorage를 지우는 방법에 대한 명확한 (비프로 그래 매틱) 지침을 아직 찾지 못했습니다. 누구든지 찾으면이 답변 아래에 참조 링크와 함께 의견을 남겨주세요.


오페라 데브 사이트는 로컬 스토리지의 훌륭한 요약이 있습니다 :

클라이언트 측 (쿠키)에 데이터를 저장하는 현재 방법이 문제입니다.

  • 낮은 크기 : 쿠키의 최대 크기는 일반적으로 약 4KB로, 복잡한 데이터를 저장하는 데 적합하지 않습니다.

  • 쿠키가 동일한 사이트에서 두 개 이상의 다른 탭에서 발생할 수있는 두 개 이상의 거래를 추적하기 어렵습니다.

  • 쿠키는 사이트 간 스크립팅과 같은 기술을 사용하여 악용되어 보안 위반을 초래할 수 있습니다.

쿠키에 대한 다른 (덜 인기있는) 대안으로는 쿼리 문자열, 숨겨진 양식 필드, 플래시 기반 로컬 공유 객체 등이 포함됩니다. 각각은 보안, 사용 편의성, 크기 제한 등과 관련된 고유 한 문제 세트를 가지고 있습니다. 지금까지 우리는 사용자 측에서 데이터를 저장하는 매우 나쁜 방법을 사용하고 있습니다. 웹 스토리지가 들어오는 더 나은 방법이 필요합니다.

웹 스토리지

W3C 웹 저장소 사양은 클라이언트 측에 데이터를 저장하는 더 나은 방법으로 설계되었습니다. 세션 저장소와 로컬 저장소의 두 가지 유형의 저장소가 있습니다.

세션 및 로컬 저장소는 일반적으로 도메인 당 약 5MB의 데이터를 저장할 수 있으며 이는 쿠키보다 훨씬 많은 양입니다.

자원:

https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

https://javascript.info/localstorage

https://dev.opera.com/articles/web-storage/

http://www.quirksmode.org/html5/storage.html

http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/

https://nakedsecurity.sophos.com/2014/11/05/how-to-clear-out-cookies-flash-cookies-and-local-storage/

http://www.opera.com/dragonfly/documentation/storage/

MDN에 관한 DOMStorage 기사 (John Resig 작성)

http://ejohn.org/blog/dom-storage/


2
추가하겠습니다. 스토리지 탭에서 "개발 모드"(F12 누름)에서 이러한 localStorage 변수를 실제로보고 수정하고 제거 할 수 있습니다.
David Tabernero M.

indexDB와 같은 경우입니까? 즉, 사용자 작업으로도 지울 수 있습니까?
Pylinux

IE에서 위의 단계 외에도 사용자는 브라우저를 닫아야 만 localstorage가 제거 된 것을 볼 수 있습니다
Kyasa Madhavi


1

Chrome에서 '인터넷 사용 기록 삭제'를 수행하는 동안 '쿠키 및 기타 사이트 및 플러그인 데이터'옵션을 선택하면 sessionStorage 데이터가 삭제됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.