Htttp 프로토콜의 한계를 보안하기 위해 쿠키 또는 웹 스토리지를 이용한다.
비연결성지향(connectionless)
- Http는 클라이언트가 서버로 요청을 보내면, 서버는 클라이언트에게 그에 맞는 응답을 보내고 Tcp/Ip 연결을 끊는 특성이다.
무상태(stateless)
- 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보를 유지하지 않는 특성이다.
1. 쿠키(Cookie)
- 브라우저에 저장되는 키-벨류 형식으로 정보를 저장한다.
- 4KB의 용량 제한을 가지고 있다.
- 보안에 취약하기 때문에 중요한 정보를 노출해서는 안된다.
- 브라우저에 300개까지 쿠키를 저장할 수 있으며, 한 도메인당 20개의 쿠키를 가질 수 있다.
- Request Header에 자동으로 실려 서버에 전송된다.
- 쿠키의 종류
- 영구 쿠키: 만료 기간이 있다. 만료 기간이 끝나면 삭제됨
- 세션 쿠키: 만료 기간이 없으며, 브라우저 종료시 쿠키 삭제
- 사용 예시 => 오늘 하루 보지 않기, 로그인 자동완성 등
2. 웹 스토리지(Web Storage)
- 쿠키의 단점을 보완하고자 생겼다.
- 로컬 스토리지와 세션 스토리지가 있다.
- 키-벨류로 형식으로 정보를 저장한다.
- 브라우저 별 기기별로 다르지만 모바일은 2.5Mb, 데스크탑은 5 ~ 10Mb의 저장 용량을 가지고 있다.
- 로컬 스토리지(Local Storage)
- 사용자가 데이터를 지우지 않는 이상, 브라우저나 Os를 종료해도 브라우저 로컬 스토리지에 남아있다. => 만료 기한이 없다.
- 브라우저마다 다른 로컬 스토리지가 생성된다..
- 도메인이 같을 경우 로컬 스토리지는 모든 탭과 창에서 공유된다.
- 사용예시 => 자동로그인
- 세션 스토리지(Session Storage)
- 브라우저, 브라우저 탭, Os를 종료하면 저장소에 내용이 삭제된다.
- 같은 브라우저의 다른 탭이라면 다른 세션 스토리지가 생성된다.
- 동일한 탭/윈도우라도 다른 도메인이라면 다른 세션 스토리지가 생성됨
- 서로 다른 세션 스토리지는 서로 영향을 주지 않으며, 독립적으로 동작한다
- 사용예시 => 장바구니
'study > Web' 카테고리의 다른 글
Web - 웹 폰트(Web Font) 최적화 (0) | 2023.02.27 |
---|---|
Web - 브라우저 랜더링 과정 (0) | 2022.10.25 |