로컬스토리지와 세션스토리지의 차이는 영구성이다
로컬스토리지의 데이터는 사용자가 지우지 않는 이상 계속 브라우저에 남아 있다
세션스토리지의 데이터는 윔도우나 브라우저 탭을 닫을 경우 제거 된다
지속적으로 필요한 데이너는 로컬 스토리지에 저장하고, 잠깐 동안 필요한 정보는 세션스토리지에 저장한다
쿠키는 만료기한이 있는 키-값 저장소다
로컬, 세션스토리지는 모두 window 객체 안에 들어 있다
도메인 별 용량 제한이 있다
모바일은 2.5mb, 데스크탑은 5mb ~ 10 mb 정도 된다
IndexedDB는 50mb 이다
4kb 용량 제한
매 서버 요청마다 서버로 쿠키가 같이 전송된다
HTTP 요청은 무상태성을 갖는다 즉, 브라우저에서 서버로 나에 대한 정보를 가져오기 위해 GET을 통하여 요청을 보낼때, 서버는 요청 자체만으로는 그 요청이 누구에게서 오는지 알 수가 없어서 응답을 보낼 수 없다, 이 때 쿠키에 나에 대한 정보를 담아서 서버로 보내면 서버는 쿠키를 읽어서 내가 누군지 파악한다
→ 쿠키는 처음부터 서버와 클라이언트 간의 지속적인 데이터 교환을 위해 만등러 졌기 때문에 서버로 계속 전송 되는거다
문제도 있다 4kb의 용량은 다 채운 쿠키가 있다면, 요청 할 때마다 기본 4kb의 데이터를 사용하게 될거다
이런 데이터 낭비를 줄이기 위해 로컬, 세션 스토리지를 사용한다
쿠키는 사이트에서 방문한 페이지를 저장하거나, 유저의 로그인 정보를 저장하는 등 다양하게 사용됨
문자열만 저장이 가능
로그인을 한 후 쿠키를 사용해 유저의 신원을 확인하여 모든 페이지에서 재인증을 거치지 않아도 되게 된다
제한된 인터넷 사용 기록을 기반으로 사용자 경험을 개선하는 것이다
Session cookies
- 만료일을 포함하지 않는다
Presistent cookies
- 만료일을 가진다