[html] localStorage는 언제 지워 집니까?
데이터가 localStorage에 얼마나 오래 보관 될 것으로 예상 할 수 있습니까? 평균 사용자의 localStorage 데이터는 얼마나 오래 지속됩니까? 사용자가 지우지 않으면 브라우저가 다시 설치 될 때까지 지속됩니까?
이것은 브라우저에서 일관성이 있습니까?
답변
W3C 초안에 따르면
사용자 에이전트는 보안상의 이유로 또는 사용자가 요청한 경우에만 로컬 저장 영역에서 데이터를 만료해야합니다. 사용자 에이전트는 데이터에 액세스 할 수있는 스크립트가 실행되는 동안 데이터 삭제를 항상 피해야합니다.
따라서 브라우저가 사양을 따르는 경우 사용자가 모든 브라우저에서 제거 할 때까지 지속되어야합니다. 내 프로젝트에서 삭제 된 항목을 찾지 못했습니다.
읽기 좋은 기사는 http://ejohn.org/blog/dom-storage/입니다.
답변
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/
http://www.opera.com/dragonfly/documentation/storage/
답변
사용자가 저장소를 지우도록 선택하는 한 localstorage의 콘텐츠는 영구적입니다 (전체 또는 내부의 단일 값).
브라우저 간의 일관성에 대해 localstorage는 현재 IE8 +를 포함한 모든 주요 브라우저에서 사용할 수 있습니다 ( http://caniuse.com/#feat=namevalue-storage 참조 ).
답변
Chrome에서 ‘인터넷 사용 기록 삭제’를 수행하는 동안 ‘쿠키 및 기타 사이트 및 플러그인 데이터’옵션을 선택하면 sessionStorage 데이터가 삭제됩니다.