웹 브라우저 쿠키 키의 최대 크기는 얼마입니까?


300

웹 브라우저 쿠키 키의 최대 크기는 얼마입니까?

쿠키의 최대 크기가 4KB라는 것을 알고 있지만 키에도 제한이 있습니까?

답변:


359

4K 제한은 이름, 값, 만료 날짜 등을 포함한 전체 쿠키에 대한 것입니다. 대부분의 브라우저를 지원하려면 이름을 4000 바이트 이하로, 전체 쿠키 크기를 4093 바이트 이하로 유지하는 것이 좋습니다.

주의해야 할 사항 : 이름이 너무 크면 쿠키를 삭제할 수 없습니다 (적어도 JavaScript에서는). 쿠키는 쿠키를 업데이트하고 만료되도록 설정하여 삭제됩니다. 이름이 너무 커서 4090 바이트라고하면 만료 날짜를 설정할 수 없다는 것을 알았습니다. 나는 단지 큰 관심을 가지지 않았다.

이에 대한 자세한 내용을 보려면 일반적인 브라우저에 대한 " 브라우저 쿠키 제한 "이 있습니다.


주제에 따라 대부분의 브라우저를 지원하려면 도메인 당 쿠키 50 개 , 도메인 당 4093 바이트를 초과하지 마십시오 . 즉, 모든 쿠키의 크기는 4093 바이트를 초과하지 않아야합니다.

이는 4093 바이트의 쿠키 1 개 또는 2045 바이트의 쿠키 2 개 등을 가질 수 있음을 의미합니다.


IE7로 인해 4095 바이트라고 말했지만 이제 Mobile Safari는 쿠키 당 3 바이트 오버 헤드로 4096 바이트를 제공하므로 최대 4093 바이트입니다.


14
4K 제한은 특정 도메인의 모든 쿠키를 의미하므로이 제한에 도달하면 새 쿠키를 만들 수 없습니다.
ulkas

6
@ulkas : 지금 추가했습니다. 한도에 도달하면 많은 브라우저에서 새 쿠키를 만들 수 있지만 기존 쿠키를 삭제합니다.
Iain

1
참고 : RFC 2965는 더 이상 사용되지 않으며 RFC 6265로 대체되었습니다. 한계 섹션은 크게 변경되지 않았지만 ( tools.ietf.org/html/rfc6265#section-6.1 참조 ) RFC 6265는 이제 정식 소스입니다.
Jim OHalloran

107

실제로 쿠키 작동 방식을 정의하는 문서 인 RFC 2965 는 쿠키 키 또는 값 크기의 최대 길이 가 없어야하며 , 구현시 임의로 큰 쿠키 를 지원하도록 권장 합니다. 각 브라우저의 구현 최대 값은 반드시 달라야하므로 개별 브라우저 설명서를 참조하십시오.

RFC의 섹션 5.3, "구현 한계"를 참조하십시오 .


13
평소와 같이 "스펙"과 "실제"는 완전히 다른 것 같습니다. 쿠키는 모든 http 요청과 함께 전송되므로 실제로 제한이있는 것이 좋습니다.
BenSwayne

3
실제로 한계가 있다면 그것은 쓸모없는 사양입니다! 이것은 "올바른"답변입니다!
제한 속죄

3
브라우저가이 사양을 따르지 않는 이유를 이해하지 못합니다. localStorage와 같은 항목이 이미 존재하는 경우 쿠키에 4KB 이상을 덤프 할 수없는 이유는 없습니다.
William

1
참고 : RFC 2965는 더 이상 사용되지 않으며 RFC 6265로 대체되었습니다. 한계 섹션은 크게 변경되지 않았지만 ( tools.ietf.org/html/rfc6265#section-6.1 참조 ) RFC 6265는 이제 정식 소스입니다.
Jim OHalloran

42

몇 가지 브라우저를 직접 테스트하고 브라우저 샷을 사용하여 다음 목록을 편집했습니다.

여기에 이미지 설명을 입력하십시오


3
2017 년 2 월 18 일 LOL에 답변했지만 해당 버전은 매우 오래된 버전입니다.
Ajmal Praveen

3
@AjmalPraveen이 답변은 이 사이트 에서 복사 되었기 때문 입니다 (이전 버전은 말했듯이). 소스는 좋았을 것이므로 관심이있는 사람들은 최신 소스를 볼 수 있습니다
Robby Groot

4
이 정확한 테이블에서 업데이트되어 사용할 수 browsercookielimits.squawky.net
gskema

39

앱 사양에서 허용하는 경우 저장소 도 사용할 수 있습니다 (IE8 + 지원).

그것은이 5M (대부분의 브라우저) 또는 10M 의 처분에 메모리 (IE)를.

" 웹 저장소 (제 2 판) "는 API이고 " HTML5 로컬 저장소 "는 빠른 시작입니다.


4
웹 저장소를 사용하는 경우주의해야 할 점은 해결 방법없이 웹 저장소에 저장된 데이터는 HTTP 또는 HTTPS에서만 저장 / 액세스 할 수 있지만 동일한 사이트에서도 공유 할 수는 없다는 것입니다.
ilasno

2
@ilasno Afaik 기존 쿠키에도 동일한 제한이 있습니다.
Steve Midgley

가장 중요한 경고는 웹 저장소가 아니라 세션 저장소 및 로컬 저장소가 서버가 아닌 브라우저에서만 액세스 할 수 있다는 것입니다. 브라우저와 서버 모두에서 읽을 수있는 쿠키와 쿠키 중 하나를 선택할 때 고려해야 할 사항입니다.
Vadorequest

16

쿠키 키 (세션 식별에 사용)와 쿠키는 다른 방식으로 사용되는 것과 동일합니다. 따라서 한도는 동일합니다. Microsoft에 따르면 4096 바이트입니다.

MSDN

쿠키는 일반적으로 4096 바이트로 제한되며 사이트 당 20 개 이상의 쿠키를 저장할 수 없습니다. 하위 키와 함께 단일 쿠키를 사용하면 사이트에 할당 된 20 개의 쿠키 중 적은 수의 쿠키를 사용합니다. 또한 단일 쿠키는 오버 헤드 (만료 정보 등)에 대해 약 50자를 사용하고 쿠키에 저장 한 값의 길이와 4096 바이트 제한에 포함됩니다. 별도의 쿠키 5 개 대신 5 개의 하위 키를 저장하면 별도 쿠키의 오버 헤드를 저장하고 약 200 바이트를 절약 할 수 있습니다.


7
덧붙여서, 약 4KB의 브라우저 쿠키 스토리지를 가지고 있다고해서 좋은 아이디어인지 아닌지를 진지하게 고려해야합니다.
NotMe

도메인 / 사이트 당 쿠키 수가 20 개를 초과 할 수 없는지 확인할 수 있습니까? 아니면 지금까지 증가 했습니까?
Mutant

2

원래 질문에 대한 직접적인 대답은 아니지만 복잡한 리미터 알고리즘을 구현하지 않고 쿠키 정보 저장 계획을 시각적으로 빠르게 이해하려는 궁금한 점과 관련이있는이 문자열은 4096 ASCII 문자 바이트입니다.

"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmn"

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.