지식 정리 📝

브라우저 저장소( 로컬 스토리지, 세션 스토리지, 쿠키 )

엄성준 2022. 10. 18. 23:52

브라우저 저장소 분류

 

- 웹 스토리지(Web Storage) : 웹 데이터를 클라이언트에 저장하기 위해 만들어진 key-value 형식의 저장소.

 

웹 스토리지는 HTML5에 추가된 클라이언트 기반 key-value 저장소 이며, 웹 스토리지는 로컬 스토리와 세션 스토리지로 나눌 수 있습니다.로컬 스트리지와 세션 스토리지의 차이점은 영구성과 범위에 있어서 크게 차이가 납니다.먼저 로컬 스토리지는 브라우저를 종료해도 데이터를 보관(영구성) 합니다. 또한, 도메인만 같으면 전역적으로 데이터가 공유되는 특성을 가지고 있습니다.세션 스토리지는 브라우저가 종료되면 데이터가 삭제(비영구성)됩니다. 도메인이 같더라도 브라우저가 다르면( 탭 브라우저, 다른 브라우저) 브라우저 컨텍스트가 다르기 때문에 각각의 세션 스토리지가 형성되어 데이터가 공유되지 않습니다.

로컬 스토리지 ( Local Storage ) 는 window.localStorage 그리고 세션 스토리지 ( Session storage ) window.sessionStorage 에 위치하며 key-value값으로 조회가 가능합니다.

 

  로컬 스토리지 세션 스토리지
데이터 유지 브라우저 종료시 보관 브라우저 종료시 삭제
데이터 범위 동일한 도메인 전역 공유 브라우저간 공유 안됨

 

- 쿠키(Cookie) : 서버와 클라이언트 간의 지속적인 데이터 교환을 위해 만들어진 key-value 형식의 저장소.

쿠키는 애초에 서버와 클라이언트가 지속적으로 데이터 교환을 하기 위해 만들어 졌습니다.

쿠키는 4KB의 용량제한을 가지고 있으며 한 사이트당 20개의 쿠키를 가질 수 있습니다.

또한 쿠키는 만료기한을 지정할 수 있습니다.

쿠키는 서버와의 통신을 목적으로 만들어 졌기 떄문에 더 주의해야 합니다!

쿠키에 쓸모없는 값이 많다면 그만큼 네트워크 트래픽이 증가하게 됩니다.

 

 

웹 스토리지와 쿠키의 차이

 

웹스토리지는 쿠키와 달리 서버에 전송되지 않고 명시적으로만 전송 가능하기 때문에 서버에 부담이 가지 않습니다. 또한, 필요한 경우에만 꺼내 쓰는 것임으로 자동 전송의 위험성이 없으며, 다른 오리진이 요청할 때에는 꺼내쓰고 싶어도 오리진 단위로 접근이 제한되는 특성 덕분에 값을 꺼내 쓸수 없습니다.(CSRF) 웹스토리지는 쿠키에 비해 용량이 넉넉합니다.

 

참고 출처 : https://ryuhojin.tistory.com/10

'지식 정리 📝' 카테고리의 다른 글

20221025 TS 타입스크립트 특징  (0) 2022.10.25
이벤트 버블링  (0) 2022.10.21
20221017 Nullish Coalescing Operator  (0) 2022.10.17
20201014 this 용법  (0) 2022.10.14
20221011 클로저(Closure)  (0) 2022.10.11