Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 2.18 KB

Cookies vs Session Storage vs Local Storage.md

File metadata and controls

36 lines (25 loc) · 2.18 KB

Cookies vs Session Storage vs Local Storage

쿠키는 서버와의 상태를 유지하기 위해 사용되며, HTTP 요청마다 포함되어 서버로 전송됩니다. 세션 스토리지는 한 브라우저 탭의 생명주기 동안에만 정보를 저장하고, 탭이 닫히면 데이터가 삭제됩니다. 로컬 스토리지는 정보를 영구적으로 저장하며, 만료 기간이 없고 수동으로만 데이터를 지울 수 있습니다.

쿠키 (Cookies)

  • 용량: 일반적으로 4KB로 제한됩니다.
  • 생명주기: 만료 날짜가 지정되면 해당 날짜까지 유지됩니다. 세션 쿠키는 브라우저 세션이 끝날 때 만료됩니다.
  • 서버와의 통신: 모든 HTTP 요청과 함께 서버로 자동 전송되므로, 서버와 클라이언트 간의 상태를 유지하는 데 적합합니다.
  • 접근성: JavaScript를 통해 document.cookie로 접근할 수 있습니다.
    • HTTP-only 속성을 사용하면 JavaScript를 통한 접근을 막을 수 있습니다. (Script를 이용한 공격인 XSS를 차단)
    • CORS를 허용한 URL에서 보내는 요청이 아니면 막는 방법을 통해 CSRF 공격 차단

세션 스토리지 (Session Storage)

  • 용량: 대략 5MB 정도의 용량을 가집니다(브라우저마다 다를 수 있음).
  • 생명주기: 브라우저 탭이 열려 있는 동안에만 데이터를 유지합니다. 탭이 닫히면 저장된 데이터가 삭제됩니다.
  • 서버와의 통신: 데이터는 서버로 전송되지 않습니다.
  • 접근성: 동일한 탭 내에서만 접근 가능하며, JavaScript의 window.sessionStorage를 통해 접근합니다.

로컬 스토리지 (Local Storage)

  • 용량: 대략 5MB 정도의 용량을 가집니다(브라우저마다 다를 수 있음).
  • 생명주기: 만료 기간이 없으며, 데이터는 수동으로 삭제하지 않는 한 계속 유지됩니다.
  • 서버와의 통신: 데이터는 서버로 전송되지 않습니다.
  • 접근성: 같은 출처(도메인)를 가진 페이지들 간에 데이터를 공유할 수 있으며, JavaScript의 window.localStorage를 통해 접근합니다.

Reference


Back