웹 스토리지 & 쿠키
웹 스토리지란 클라이언트 측에서 데이터를 저장할 수 있도록 지원하는 html5의 새로운 기능으로 쿠키와 비슷한 기능을 한다. 다만 쿠기보다 웹 스토리지가 큰 용량을 가지며 전송 갯수의 제한이 없고 서버로 정보를 보내는 것이 아니라 클라이언트 측에 저장하는 것이기 때문에 트래픽을 낮출 수 있다는 장점이 있다.
웹 스토리지에는 Session Storage
와 Local Storage
가 있으며 서로 다른 특성을 가지고 있다. 둘의 공통점은 하나의 도메인마다 스토리지가 생성된다는 점이다.
Local Storage
로컬 스토리지는 브라우저에 데이터를 반영구적으로 저장한다. 즉, 브라우저를 닫았다 다시 열거나 새 탭에서 정보를 저장해도 그 정보가 남아있기 때문에 쿠키를 대신하기에 적합하다.
로컬 스토리지에 정보를 저장하고 사용하는 법은 다음과 같다.
localStorage.setItem('key', 10) // key와 value값으로 저장
console.log(localStorage.getItem('key')); //key를 통해 찾음
Session Storage
세션 스토리지는 각 정보를 세션마다 개별적으로 저장한다. 즉 같은 페이지를 여러개의 탭으로 실행하면 각 탭마다 각각 개별적으로 다른 정보가 저장된다. 각 탭의세션 스토리지의 데이터에 서로 접근하는 것을 불가능하다. 그리고 세션이 종료되면 데이터는 사라진다. (브라우저를 닫았다 다시 열 경우)
세션 스토리지에 정보를 저장하고 사용하는 법은 로컬 스토리지와 매우 유사하다.
sessionStorage.setItem('key', 10);
console.log(sessionStorage.getItem('key'));
쿠키(보충필요)
쿠키는 클라이언트 로컬에 저장되는 데이터로 보통 세션 관리, 사용자 맞춤, 사용자 추척을 위해 사용된다. Response Header의 Set-Cookie
속성을 통해 클라이언트에 쿠키를 만들 수 있다.
쿠키의 문법은 다음과 같다.
Set-Cookie: <cookie-name>=<cookie-value>
이 서버 헤더를 통해 클라이언트에 다음 쿠키를 저장하라고 요청 할 수 있다.
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: yummy_cookie=choco
Set-Cookie: tasty_cookie=strawberry
[page content]
다음과 같이 응답이 오면 서버로부터 전송되는 요청과 함께 브라우저는 쿠키 헤더를 이용하여 서버측에 이전에 저장한 쿠키들을 회신하게 된다.
GET /sample_page.html HTTP/1.1
Host: www.example.org
Cookie: yummy_cookie=choco; tasty_cookie=strawberry
'front-end > javascript' 카테고리의 다른 글
[javascript] StopWatch를 통해 보는 시간지연함수 (0) | 2019.09.04 |
---|---|
자바스크립트 AJAX (1/2) , XMLHttpRequest 그리고 HTTP METHOD (0) | 2019.08.28 |
Javascript 동기와 비동기 callback부터 async&await (1) | 2019.08.23 |
Javascript 이벤트 버블링, 위임 target과 currentTarget의 차이 (0) | 2019.08.22 |
Javascript Transition Event 제어 (0) | 2019.08.21 |
댓글