[MDN 번역] Web Stroage API

hyeongjundev·2021년 11월 27일
0

MDN 번역

목록 보기
3/3

Web Storage API

Web Stroage API는 브라우저가 key/value 쌍으로 데이터를 저장할 수 있는 매커니즘을 제공한다. cookies를 사용하는 것보다 더 직관적이다.

Web Storage concepts and usage

Web Storage 내의 두가지 매커니즘은 아래와 같다.

  • sessionStrage는 page session이 가능한 동안에 각각의 origin에 따라서 분리된 저장공간을 유지한다.(페이지 reload나 resotre인 경우도 포함혀아 browser가 열려있는 동안)
    - session이 유지되어있는 동안에 데이터를 저장한다. 이것은 브라우저(또는 탭)이 닫히기 전까지 데이터를 저장한다는 것을 의미한다.
    - 데이터는 절대 서버로 전송되지 않는다.
    - 저장한계는 cookie보다 크다(많으면 5MB)

  • localStorage 같은 역할을 한다. 하지만 브라우저가 닫히거나 다시켜져도 유지한다.
    - 만료기간 없이 데이터를 저장하며 JavaScript를 통해서만 clear할 수 있다. 또 Browser cache/ Locally Stored Data를 clear할 수 있다.

    • 저장 limit는 둘 사이에 가장 크다.

    이런 매커니짐들은 Window.sessionStorage 또는 Window.localStorage 속성을 통해서 사용할 수 있다. - 이것들 중 하나를 실행하는 것은 data item을 설정하고 검색, 제거 할 수 있는 Storage object의 instance를 생성할 것이다. 각각의 origin에 대해서 sessionStorage와 localStorage는 다른 Storage object가 사용된다. 그들은 독립적으로 동작하고 제어된다.

    Private Browsing / Incognito modes

    대부분 현대 브라우저 'Incognito' 또는 'Private Browsing', 그 외 history와 cookies를 저장하지 않는 비슷한 모드인 privacy를 지원한다. 명백한 이유로 Web Storage를 호환하지 않는다. 브라우저 공급사는 이러한 incompatibility를 처리하는 방법에 대해서 많은 시행착오를 격는다.

    대부분 브라우저는 storage API가 여전히 완변히 동작하지만 브라우저가 닫히면 모든 데이터가 지워지는 차이점을 가지는 전략을 선택했다. 이러한 브라우저는 평범한 browing session에서 저장된 존재하는 데이터를 처리해야하는지에 대한 다른 차이가 있다. Private mode에서 이것을 읽는 것을 가능하게 해야하나? 대부분의 브라우저, 특히 Safara는 storage는 가능하게 하되 할당량이 0byte이고 비워있는 방식을 선택했다. 효과적으로 데이터를 쓰는 것을 불가능하게 하였다.

    개발자들은 Web Storage API가 어떤 사이트에서 개발되는지에 대해서 알고 있어야 한다.

0개의 댓글