우리가 쓰고 있는 브라우저
에는 데이터를 저장 할 수 있는 공간이 총 세개가 있는데 그게 바로
지금 당장이라도 브라우저를 열고 콘솔창의 어플리케이션 섹터에
Storage 부분을 보면 확인해볼 수 있다.(콘솔창은 F12 키를 누르면 열린다.)
DB를 사용하지 않고 데이터를 임시적인 용도로 저장 할 때 사용한다는 공통점이 있다.
비교적 이해하기 쉽게 최근에 쓰이는 대표적인 예시를 몇가지 들어보자면
쇼핑몰의 장바구니
, 좋아하는 콘텐츠
(찜, 좋아요 등 같은 기능들)등
수시로 변경되는 정보
를 저장 할 때 또는 홈페이지 내에서 자동 로그인
이 될 때 사용된다.
또한 방문자의 이동 경로를 저장 하였다가 이동시에도 사용되고
그 이외 서버에 저장할 필요가 없는 정보들을 저장할 때도 사용되는 만큼 다양한 용도로 쓰인다.
각각의 특징으로는
브라우저 요청
이 있을 경우 자동으로 서버
에 전송된다.
개수
와 용량
에 있어 제한
이 있고,
하나의 사이트에서 저장할 수 있는 최대 쿠키 수는 20개 / 하나의 최대 쿠키 사이즈
는 4KB
로 제한 되어 있다.
만료일자
를 지정하게 되어 있어 언젠간 제거
된다.
만료일자로 지정된 날짜에 쿠키는 제거된다.
(만료일자를 지정하지 않으면 세션 쿠키가 된다.)
대부분의 브라우저
에서 지원되기 때문에 호환성이 좋다는 장점을 가지고 있지만,
api
가 쿠키를 거쳐 한번 더 호출
되기 때문에 쌓이게 되면 서버
에 부담
이 증가된다.(서버가 느려질 수 있다.)
(LocalStorage
, SessionStorage
를 통틀어 부르는 말)
WebStorage
는 용량
의 제한이 없고, 만료기간
의 설정이 없다.
즉 한번 저장한 데이터는 영구적으로 존재
데이터의 지속성
과 관련하여 두 가지 용도의 저장소를 제공한다. (LocalStorage
, SessionStorage
)
브라우저
를 종료해도 데이터는 보관되어 다시 접속
에도 그 데이터
를 사용할 수 있다.
(저장한 데이터를 지우지 않는 이상 영구적 보관 가능)
지속적으로 데이터를 저장해야할 때 쓰임.
서버
에는 불필요한 데이터
를 저장 하지 않으며, 용량
이 상당히 큼.
브라우저
가 닫힐 때 클라이언트
에 대한 정보가 삭제됨.
즉 데이터
가 지속적으로 보관 되지 않음.
클라이언트
에서만 저장된 데이터 조회
가 가능