local storage
, session storage
, cookie
모두 클라이언트 스토리지이며 SOP(same-origin-policy)를 따른다.
SOP(Same-Origin-Policy, 동일출처정책)란 어떠한 문서나 스크립트가 다른 포로토콜 / 포트 / 호스트에 있는 리소스에 접근하는 것을 제한하는 정책이다.
local storage
와 sesseion storage
는 상대적으로 새로운 API이며(즉 모든 브라우저들이 이를 지원하지는 않는다.) 서로 유사하다. 두 스토리지의 데이터는 읽기/수정이 쉬우므로 애플리케이션 안에 보안 관련 데이터나 민감한 정보를 저장하지 않는 것이 좋다.
🗳 local storage
- 5MB/10MB
- 클라이언트 사이드에서만 읽기가 가능하고, 자바스크립트나 브라우저를 통해 명시적으로 삭제 가능하다
- 유저가 브라우저 윈도우를 닫더라도 데이터는 삭제되지 않는다.
- XSS에 취약함
🗃 session storage
- 5MB
local storage
와 비슷하나 데이터는 오직 브라우저의 윈도우나 탭이 열려있을 때만 이용 가능하다. 윈도우나 탭이 닫히면 스토리지의 데이터도 삭제된다.- XSS에 취약함
🍪 cookie
- 4KB
- 모든 HTTP 요청마다 쿠키의 데이터가 함께 서버로 보내지므로 클라이언트뿐만아니라 서버에서도 읽기가 가능
- 만약 SSL을 사용하고 있지 않다면, 쿠키는 퍼블릭 와이파이에 의해 가로채가는 것이 가능하다.
- HttpOnly cookie flag를 사용하면 자바스크립트로 접근이 불가능하게 만들어서 XSS에 방어할 수 있음
- CSRF에 취약함
참고자료
What is the difference between localStorage, sessionStorage, session and cookies?
What is the difference between localStorage, sessionStorage, session and cookies?
What are the technical pros and cons of localStorage, sessionStorage, session and cookies, and when would I use one over the other?
stackoverflow.com
'애매한 카테고리' 카테고리의 다른 글
styled-components<💅>를 써보았다. (2) | 2020.05.15 |
---|---|
미디어 쿼리 사용하기 (0) | 2019.11.17 |
알고리즘 사이트 추천 - leet code (1) | 2019.10.30 |
VS Code에서 react code snippet 만들어 쓰기 (1) | 2019.09.26 |
SEO(Search Engine Optimization) 그리고 시맨틱 마크업 (0) | 2019.09.25 |