쿠키의 용량은 얼마인가요?

78 조회수
웹 브라우저에 저장되는 쿠키 용량은 최대 4096바이트, 즉 약 4KB로 제한됩니다. 이 제한은 이름, 값, 만료일, 도메인 정보 등 모든 속성을 포함한 전체 크기입니다. 데이터 크기가 4KB를 넘어설 경우 쿠키는 적절한 저장소가 아닙니다. 이때는 최대 5MB까지 데이터를 저장할 수 있는 로컬 스토리지나 세션 스토리지를 대신 활용해야 합니다.
의견 0 좋아요

쿠키 용량: 4KB 제한과 대안 활용법

웹 브라우저를 이용할 때 쿠키 용량 제한을 이해하는 것은 매우 중요합니다. 웹 페이지가 원활하게 작동하도록 돕는 저장소이지만 생각보다 담을 수 있는 데이터 양이 적기 때문입니다. 올바른 저장 방식을 선택하여 웹 데이터 관리 효율을 높이고 원활한 사용자 경험을 유지하는 방법을 확인하세요.

쿠키의 용량은 얼마인가요?

웹 브라우저에 저장되는 HTTP 쿠키 최대 크기는 보통 4096바이트, 즉 약 4KB로 제한되어 있습니다.[1] 이 제한은 쿠키의 이름, 값, 만료일, 도메인 정보 등 모든 속성을 포함한 전체 크기를 의미하며, 생각보다 훨씬 적은 공간입니다.

4KB 제한의 실질적인 의미

많은 사용자가 쿠키의 값(Value)만 쿠키 4KB 제한으로 오해하곤 합니다. 하지만 실제로는 쿠키의 전체 데이터 구조가 이 크기를 넘을 수 없습니다. 이름이 길거나 만료일 등의 속성이 복잡하게 설정되어 있다면, 정작 저장해야 할 값은 4KB보다 훨씬 작아질 수밖에 없습니다.

도메인당 생성할 수 있는 쿠키 개수 또한 엄격합니다. 브라우저마다 차이는 있지만, 보통 하나의 도메인에 대해 20개에서 50개 정도의 쿠키만 허용됩니다. 너무 많은 쿠키를 사용하면 웹사이트 성능이 눈에 띄게 저하될 수 있는데, 이는 브라우저가 모든 요청마다 쿠키 데이터를 서버로 전송하기 때문입니다.

대용량 데이터를 다룰 때의 대안

데이터 크기가 4KB를 넘어선다면 쿠키는 적절한 저장소가 아닙니다. 이때는 웹 브라우저가 제공하는 다른 API들을 활용해야 합니다. 로컬 스토리지 쿠키 차이를 보면, 로컬 스토리지(localStorage)와 세션 스토리지(sessionStorage)는 최대 5MB까지 데이터를 저장할 수 있어 쿠키보다 훨씬 넉넉한 공간을 제공합니다. [2]

로컬 스토리지는 만료 기간 없이 영구적으로 데이터를 보관할 때 유용하며, 세션 스토리지는 브라우저 탭을 닫으면 데이터가 삭제되는 특성을 가집니다. 사실 성능 최적화 관점에서 쿠키는 아주 작고 꼭 필요한 인증 정보 등을 담는 용도로만 사용하는 것이 좋습니다.

브라우저 저장소 비교

웹 애플리케이션에서 데이터를 저장하는 주요 방식들을 비교해보면 각 용도를 더 명확히 이해할 수 있습니다.

HTTP 쿠키

전체 약 4KB

인증 정보 및 세션 관리

모든 HTTP 요청마다 자동 전송

로컬 스토리지

약 5MB

사용자 설정 및 영구 데이터

서버로 자동 전송되지 않음

성능을 위해서는 서버로 전송되지 않는 로컬 스토리지를 활용하는 것이 효율적입니다. 쿠키는 꼭 필요한 인증 정보 위주로 최소화하여 사용하는 전략이 필요합니다.

성능 최적화를 고민한 민수의 사례

민수는 웹 개발자로, 처음에는 로그인 상태 유지를 위해 모든 사용자 정보를 쿠키에 담았습니다. 하지만 사용자가 늘어나자 페이지 로딩 속도가 30% 이상 느려지는 문제가 발생했습니다.

알고 보니 민수의 쿠키는 3.5KB를 넘나들고 있었고, 모든 API 요청마다 이 거대한 데이터가 서버를 왕복하고 있었습니다.

민수는 쿠키에는 고유 세션 ID만 남기고, 나머지 정보는 로컬 스토리지로 옮기는 구조로 설계를 변경했습니다.

결과적으로 요청 헤더 크기가 줄어들면서 페이지 응답 시간이 이전보다 2배 가까이 빨라졌고, 서버의 대역폭 부담도 60% 이상 감소했습니다.

빠른 해답

쿠키 용량이 4KB를 넘으면 어떻게 되나요?

4KB를 초과하면 브라우저는 쿠키를 저장하지 않거나 잘라내어 무시합니다. 이로 인해 세션 정보가 누락되어 로그인이 풀리거나 기능이 정상 작동하지 않을 수 있습니다.

모든 쿠키를 로컬 스토리지로 옮겨도 될까요?

아니요, 보안이 중요한 인증 토큰은 보안 속성이 강화된 쿠키(HttpOnly, Secure)에 담는 것이 훨씬 안전합니다. 로컬 스토리지는 자바스크립트로 접근 가능해 XSS 공격에 취약할 수 있습니다.

다음 단계

쿠키는 인증 정보 전용

쿠키의 4KB 용량은 매우 작으므로, 인증 토큰 등 최소한의 정보만 담는 것이 좋습니다.

함께 보면 이해에 도움이 되는 세션과 쿠키의 차이점은 무엇인가요?도 확인해보세요.
대용량은 스토리지를 활용

4KB가 넘는 데이터는 로컬 스토리지나 세션 스토리지를 활용해 웹 성능 저하를 방지하세요.

참고 문서

  • [1] Blog - 웹 브라우저에 저장되는 HTTP 쿠키의 최대 용량은 보통 4096바이트, 즉 약 4KB로 제한되어 있습니다.
  • [2] Developer - 로컬 스토리지(localStorage)와 세션 스토리지(sessionStorage)는 최대 5MB까지 데이터를 저장할 수 있습니다.