Web Storage
Cookie의 단점을 보완하고자 html5에 등장한 Web Storage
- 5MB의 저장용량
- 요청 시 Headers에 전송하지 않음
- 문자열만 저장 가능
Web Storage 종류
- 로컬 스토리지
- 도메인 / 브라우저 별로 저장 ( 브라우저가 변경되면 로컬 스토리지도 바뀜)
- 직접 삭제해야 삭제 됨 (브라우저를 닫아도 삭제되지 않음)
- ex) 글 임시 저장, 사용자 설정 저장
- 세션 스토리지
- 도메인 /브라우저 / 탭 별로 저장 (탭이 변경되면 세션 스토리지도 바뀜)
- 탭 종료시 삭제 ( 브라우저 or 탭 종료시 데이터 삭제)
- ex) 일회성 로그인, 입력폼 저장
Web Storage 단점
- 만료 기간 설정 불가
- 동기적으로 실행
- 지원하지 않는 브라우저 존재
- 여전히 XSS 공격에는 취약
Cookie와 Web Storage 비교
| Cookie | Web Storage |
---|
저장 용량 | 4KB | 5MB |
HTTP 요청 | 요청 시, 자동으로 Headers에 담겨져서 전송 | 요청 시 Header에 담아 전송하지 않음 |
보안 | XSS에 안전한 편 / XSRF 공격에는 취약 | XSRF에 안전 / XSS 공격에는 취약 |
만료기간 | 만료기간 설정 가능 | 만료기간 설정 불가능 |