2011-01-05 1 views
1

쿠키에 저장하려는 큰 문자열이 있습니다. 그러나 쿠키 당 최대 문자열 길이 및 최대 쿠키 길이는 모름입니다. 카운트.ASP.NET을 사용하여 쿠키에서 큰 문자열 분할 및 재결합

문자열을 분할하고 나중에 쿠키 세트를 결합하려면 어떤 논리를 사용해야합니까?

(마이크로 소프트 ADFS와 나는, 자신의 구현이 무엇인지에 관심이있을 것이다, 그래서 아마도 SiteMinder를이 기술을)

답변

1

쿠키는 브라우저에서 처리 할 것을, 그래서 각 브라우저는 서로 다른 한계를 가지고있다. 또한 각 사이트의 전체 쿠키 데이터에 한계가 있기 때문에 쿠키는 일시적인 도움이 될 수 있습니다뿐만 아니라, 각 브라우저의 각 페이지에 데이터 전송에

한계를 오버 헤드를 추가 분할

쿠키 당 :
Internet Explorer가 약 3904 바이트
모질라 파이어 폭스에 대한 3136 바이트의 최대 쿠키 처리의 최대 쿠키를 처리

나는 크롬, 큰 쿠키와 내부의 크롬 충돌에 대한 몇 가지 실험을하고, 어떤 메시지가 표시되지 않은 상태 페이지를 확인하십시오. http://www.cookiecentral.com/faq/#2.5
이것은 여러 가지 이유로 수행이 그들 중 하나가 해킹입니다 :

지금 넷스케이프와 마이크로 소프트 모두가 심판 총 쿠키의 2109 개 제한이 300으로 계산 RFC 쿠키베이스의 수를 제한하는 방법을 가지고있다 , 사이트에 이미징 쿠키를 전체 비디오 업로드 :) 업로드 및 귀하의 하드 디스크를 가득 ...

나는 모범 사례가 브라우저에 작은 쿠키 참조를 유지하는 것이라고, 그리고 그것을 서버의 실제 데이터와 연결하십시오. 모든면에서 더 작은 것이 좋습니다.

쿠키를 테스트하는 방법은 다음과 같습니다.

if(Request.Cookies["cookieTest"] == null) 
    Request.Cookies["cookieTest"].Value = "more text into cookie"; 
else 
    Request.Cookies["cookieTest"].Value += "more text into cookie"; 

// check now the size 
Responce.Write(Request.Cookies["cookieTest"].Value.Length); 

내 경험으로 쿠키에 제어되지 않은 큰 데이터를 사용하려고하면 예상치 못한 많은 문제가 발생합니다. 나는 여러 번 지원이 말을 듣고 : 쿠키를 지우고 다시 시도하십시오 :)

+0

고맙습니다. 당신은 내 개념을 이해합니다. 그러나 나는 설정과 가치의 가장 낮은 공통 분모를 찾아내는 데에 집착 할 것입니다. 나는 마음에 휴대 전화 (블랙 베리, 아이폰, ipad)와 다른 버전을 유지하고 싶습니다. – LamonteCristo

+0

@ makerofthings7 휴대 전화에 대해 알지 못합니다. 지금은 테스트 할 사람이 없기 때문입니다. 혹시 Google에서 검색하는 경우 어쩌면 어쩌면? 표준은 http://www.ietf.org/rfc/rfc2109.txt입니다. – Aristos

+0

저는 많은 장치가 일관되게 표준을 따르지 않는다는 인상하에있었습니다. 실제로 쿠키를 실제로 구현하기 위해 RFC에 의존 할 수 있습니까? 내가 읽은 것만 큼 지원은 기껏해야 여드름이었다. – LamonteCristo