본문 바로가기

study/Web

Web - 쿠키, 세션 스토리지, 로컬 스토리지

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