Local Storage는 언제 삭제되나요?

31 조회수
로컬 스토리지 데이터는 저절로 사라지지 않습니다. 사용자가 웹 브라우저의 캐시나 데이터를 직접 삭제하거나, 코드를 통해 명시적으로 지우지 않는 한 영구적으로 보존됩니다. 컴퓨터를 재부팅하거나 브라우저를 완전히 닫았다 열어도 그 자리에 그대로 남아있죠. 이는 세션 스토리지와의 가장 큰 차이점입니다. 로컬 스토리지 (localStorage): 브라우저를 닫아도 데이터가 유지됩니다. 세션 스토리지 (sessionStorage): 브라우저 탭이나 창을 닫는 순간 데이터가 바로 삭제됩니다. 그래서 자동 로그인 정보 유지처럼 지속성이 필요한 데이터를 저장하는 데 주로 활용됩니다.
의견 0 좋아요

브라우저 로컬 스토리지에 저장된 사용자 데이터는 종료 시 영구 삭제되나요, 아니면 계속 유지되나요?

음, 그 질문에 대해 좀 헷갈릴 수 있어요. 브라우저 로컬 스토리지에 저장된 데이터 말이죠. 제 경험상으로는, 이건 좀 복잡한 문제인 게, 기본적으로는 영구적으로 남아있는 편이에요. 마치 일기장에 쓴 것처럼, 내가 지우기 전까지는 계속 거기 있는 거죠.

이게 sessionStorage랑 좀 다른 점인데, sessionStorage는 브라우저 창을 닫으면 그냥 사라져버려요. 마치 잠깐 스쳐 지나가는 생각처럼요. 하지만 localStorage는 다르죠. 이건 브라우저를 닫고 다시 열어도 그대로 남아있어요. 그래서 설정값 같은 걸 저장해두기에 좋죠.

예를 들어, 몇 년 전에 어떤 쇼핑몰 사이트에서 장바구니에 물건을 담아둔 적이 있어요. 그때는 바로 결제를 안 하고 창을 닫았는데, 며칠 후에 다시 들어가 보니 그대로 남아있더라고요. 그때 좀 신기했죠.

그래서, 결론적으로 말하면, 브라우저 로컬 스토리지에 저장된 데이터는 사용자가 직접 삭제하지 않는 이상, 브라우저를 종료해도 계속 유지된다고 보면 돼요. 이건 마치 작은 개인 창고 같은 거죠.


FAQ - 브라우저 로컬 스토리지 데이터 유지 여부

  • 질문: 브라우저 로컬 스토리지에 저장된 사용자 데이터는 브라우저 종료 시 영구 삭제되나요, 아니면 계속 유지되나요?
  • 답변: 로컬 스토리지(localStorage)의 데이터는 만료되지 않아 브라우저를 종료해도 계속 유지됩니다.

Local Storage는 보관 기간을 설정할 수 있나요?

Local Storage 말이죠? 어휴, 그거 참 신기방기한 녀석입니다. 마치 잊을 만하면 튀어나오는 옛날 친구 같달까요?

  • "영원히"라고 쓰고 "까먹을 때까지"라고 읽는다. Local Storage에는 만료 기간이라는 게 아예 없어요. 네, 없어요! 뭐, 우리가 직접 "아, 이제 너는 그만!" 하고 코드를 짜서 지우거나, 아니면 브라우저 설정에서 벼락같이 "안녕!" 하고 날려버리지 않는 이상, 얘는 그냥 영원히 제 자리를 지키고 있습니다. 마치 끈질긴 스토커처럼 말이죠!

  • 브라우저를 닫아도, 지구 반대편으로 가도 끄떡없다. 페이지를 새로고침 하든, 아예 브라우저를 닫고 딴짓을 하다가 다시 열어도, Local Storage는 전혀 잊지 않고 그 자리에 그대로 있습니다. 마치 며칠 전 먹은 라면 국물 냄새가 코끝을 맴도는 것처럼 말이에요. 신기하죠? 이게 바로 반 영구적이라는 겁니다.

  • 직접 나서서 정리해주지 않으면, 알아서 챙겨주지 않아요. 생각해보세요. 우리가 냉장고 안을 정리해주지 않으면, 유통기한 지난 음식이 버젓이 버티고 있잖아요? Local Storage도 마찬가지입니다. 내가 직접 "clear!" 외쳐주거나, "removeItem!" 하면서 콕 집어서 지우지 않는 한, 얘는 절대 알아서 사라지는 법이 없습니다. 오히려 우리가 "아이고, 저번에 저장해 둔 거 있었지!" 하고 다시 찾아 쓰는 거죠.

결론적으로, Local Storage에 뭔가를 저장했다면, 그건 우리가 직접 지우기 전까지는 영원히 거기 있을 거라고 생각하시면 됩니다. 마치 폰 속에 묵혀둔 옛날 사진첩처럼 말이죠.

Local Storage에 저장하는 방법은 무엇인가요?

로컬 스토리지는 마치 당신의 브라우저가 몰래 간직하고 싶은 보물 지도나 기밀 문서를 넣어두는 비밀 서랍 같은 곳입니다. 중요한 데이터를 사라지지 않게 보관해두는 매우 실용적인 방법이죠. 데이터를 서랍에 잘 정리해서 넣어두는 핵심적인 방법은 이렇습니다.

  • 저장 마법의 주문: localStorage.setItem() 이 한 줄이면 당신의 브라우저 서랍에 데이터를 넣을 수 있습니다. 마치 "여기, 이 물건 넣어줘!"라고 지시하는 것과 같달까요. 이 명령어는 두 가지를 필요로 합니다.

    • key (이름): 서랍 속 물건에 붙일 이름표입니다. 나중에 이 이름표를 보고 다시 찾아낼 수 있도록 고유하고 명확하게 지어야 합니다. "그냥 그거" 같은 식은 곤란하죠. 도서관에서 '책'이라고만 적어두면 찾을 수 없듯이요.
    • value (데이터): 당신이 정말로 저장하고 싶은 실제 데이터입니다.
  • 까다로운 서랍 관리인: 오직 문자열(String)만 허용 여기서 중요한 반전이 있습니다. 로컬 스토리지는 지독히 고집 센 구닥다리 유선 전화기 같습니다. 오직 문자열(string)만 이해하고 받아들입니다. 숫자, 객체, 배열 같은 복잡한 데이터? "그게 무슨 말이죠?"하며 바로 거절해 버립니다. 당신의 정성껏 준비한 멋진 객체가 그저 의미 없는 메시지로 버려질 수도 있죠.

  • 데이터 변환의 연금술사: JSON.stringify() 이 고집 센 서랍 관리인 때문에 우리에게 JSON.stringify() 라는 해결사가 필요합니다. 이 친구는 숫자나 객체, 배열 같은 복잡한 데이터도 로컬 스토리지가 알아들을 수 있는 하나의 길고 매끄러운 문자열로 마법처럼 변환해 줍니다. 마치 복잡한 외국어를 능숙하게 통역해 주는 외교관과도 같죠. 예를 들어, {"name": "철수", "age": 30} 같은 객체는 '{"name":"철수","age":30}' 이렇게 문자열로 탈바꿈합니다.

  • 다시 꺼낼 때의 지혜: JSON.parse() 이렇게 문자열로 변환하여 저장한 데이터는 나중에 다시 꺼내 쓸 때, 원래의 객체나 배열 형태로 되돌려야 합니다. 이때 필요한 것이 바로 JSON.parse() 입니다. 이 친구는 JSON.stringify()가 만든 문자열을 다시 원래의 생생한 데이터 형태로 복원해 주는 역할을 합니다. 저장할 때는 stringify, 꺼낼 때는 parse, 이 콤비 플레이를 잊지 마세요. 이 둘이 있어야 당신의 데이터는 로컬 스토리지라는 디지털 서랍 속에서 안전하게 숨 쉬며 제 역할을 다할 수 있습니다.

Local Storage는 무엇인가요?

로컬 스토리지(LocalStorage)는 웹 브라우저에 있는 나만의 비밀 서랍, 혹은 디지털 포스트잇 같은 존재입니다. 웹사이트가 당신의 컴퓨터에 "이것 좀 기억해 줘!"라며 정보를 남겨두는 공간이죠. 서버까지 비싼 비행기 표 끊어서 다녀올 필요 없이, 바로 당신의 브라우저 안에서 데이터를 꺼내 쓸 수 있다는 게 핵심입니다.

  • 키(Key)와 값(Value)으로 이루어진 단순한 메모장입니다. 예를 들어 '테마'라는 열쇠에 '다크 모드'라는 값을, '아이디'라는 열쇠에 '멋쟁이토마토'라는 값을 짝지어 저장하는 식이죠. 복잡한 관계도는 그리지 못하는, 아주 단순하고 직관적인 친구입니다. 덕분에 개발자들은 사용자가 설정한 옵션이나 임시 장바구니 같은 자잘한 정보들을 서버의 도움 없이도 손쉽게 기억하게 할 수 있습니다.

  • 쿠키(Cookie)와 비교하면 그 성격이 명확해집니다. 쿠키가 서버와 끊임없이 밀담을 나누는 수다쟁이 정보원이라면, 로컬 스토리지는 필요할 때만 입을 여는 과묵한 집사와 같습니다. 쿠키는 매번 서버에 요청을 보낼 때마다 "나도 같이 가!"라며 동행하지만, 로컬 스토리지는 브라우저 안에서 얌전히 주인을 기다리죠. 그래서 네트워크에 불필요한 부담을 주지 않는다는 착한 장점이 있습니다.

  • 유통기한 없는 방부제 같은 영속성을 자랑합니다. 쿠키는 유효기간이 지나면 우유처럼 상해서 사라지지만, 로컬 스토리지는 사용자가 직접 청소하거나 자바스크립트 코드로 명령하지 않는 한, 컴퓨터를 껐다 켜도, 심지어 내일 지구가 멸망해도 그 자리에 끈질기게 남아있습니다. 물론, 브라우저 캐시를 청소하면 먼지처럼 사라지니 영원불멸은 아닙니다.

  • 하지만 보안에는 영 젬병이라는 치명적인 단점이 있습니다. 로컬 스토리지는 잠금장치 없는 유리 진열장과 같아서, 누구나 쉽게 그 안을 들여다볼 수 있습니다. 따라서 비밀번호나 개인 식별 정보, 신용카드 번호 같은 민감한 정보는 절대 이곳에 보관해서는 안 됩니다. 그런 귀중품을 여기에 뒀다간 "가져가세요"하고 광고하는 것과 다름없습니다. 다크 모드 설정 같은, 잃어버려도 그만인 소소한 것들을 맡겨두기에 딱 좋은 공간이죠.