2011-09-02 5 views
1

데모 도구 (PHP, jQuery, XHTML)를 사용하고 있습니다. 문제가있는 점을 제외하고는 일시적으로 특정 정보를 저장해야합니다. 그러나 쿠키를 통해 그것을하고 있지만 아파치에서 쿠키의 한계는 4Kb이며 쿠키 내에 더 이상 공간이 없으므로 어떤 경우에도 여전히 보내지 않으려면 문제없이 쿠키를 저장할 수 있습니다. 데이터베이스 또는 텍스트 파일에 대한 정보.쿠키 내에 많은 양의 정보 저장하기

아마도 경로 또는 다른 도메인을 사용하여 작업을 수행 할 수 있을지 모르겠습니다.

저는 정말로 저에게 제공 할 수있는 도움에 감사드립니다. :)

+1

저장할 쿠키 데이터를 설명하십시오. (그리고 알다시피, 이것이 단순/게으른 세션 대안이 존재하는 이유입니다. 아마도 .localStorage가 옵션이 될 수 있을까요?) – mario

답변

0

여러 개의 쿠키를 만들 수도 있지만 좋지 않습니다. 쿠키는 모든 요청과 함께 전선을 가로 질러 갈 것입니다. 세션 정보를 데이터베이스 또는 캐시 계층에 저장하는 것을 고려하십시오.

2

세션은 쿠키와 비슷하지만 클라이언트에게 고유 한 ID ("세션 ID")를 제공하고 나머지 데이터는 서버에 보관합니다.

물론 이것은 데이터베이스 또는 파일 내에 저장되어 있지만 완전히 투명합니다. SQL 쿼리 나 파일 읽기 또는 그 밖의 것에 대해 혼란스럽지 않습니다. http://www.tizag.com/phpT/phpsessions.php

한 가지 단점은 있지만 : PHP 브라우저는 일반적으로 취급 없음 시간 제한, 모든 세션 쿠키를 설정합니다 "이 삭제

당신은 $_SESSION 모든 $_COOKIE을 대체 코드의 상단에 session_start();을 둘 필요 브라우저가 닫힐 때마다 쿠키. " 문제 해결 방법을 보려면 How do I expire a PHP session after 30 minutes?

1

먼저 쿠키에 많은 양의 데이터를 저장해야하는지 고려해야합니다. 어쩌면 정보를 압축 할 수 있을지 아니면 모든 정보가 필요하지 않을까요?

이유는 다음과 같습니다. 쿠키가 서버에 요청할 때마다 전송됩니다 (1보다 클 수 있습니다). 동일한 도메인의 이미지를 제공하는 경우 각 대형 쿠키를 보내는 요청이 20 개 이상 발생할 수 있습니다. 쿠키에 5KB의 데이터가 저장된다고 가정하면 정보를 반복하는 데 100KB 밖에 없습니다.

은 다음을 참조하십시오 http://developer.yahoo.com/performance/rules.html#cookie_size

그냥 현재의 세션에 대한 정보를 필요로하는 경우, 왜 세션 VAR로 저장 (또는 memcache에 etc.pp.)하지? 쿠키에 ID를 저장하고 세션에이 ID가없는 경우 데이터베이스에서로드하여 세션에 저장하면됩니다. 세션 당 한 번만 액세스 할 수 있습니다.

좀 더 배경 정보를 제공하면 더 좋을 수도 있습니다.

0

민감하지 않은 정보를 DOM 요소와 함께 저장할 수 있습니다. jQuery를 사용하는 경우 .data()를 사용할 수 있습니다. - http://api.jquery.com/data/

그러나 페이지를 완전히 다시로드 한 후에는 사라집니다.

관련 문제