[javascript] 만료 날짜가없는 자바 스크립트 쿠키

절대 만료되지 않는 쿠키를 설정하고 싶습니다. 가능할까요?

 document.cookie = "name=value; expires=date; path=path;domain=domain; secure";

날짜를 정말로 크게 만들고 싶지 않습니다. 쿠키에 만료 매개 변수에 대한 값이 만료되지 않았는지 여부가 궁금합니다.

감사.



답변

아니. 할 수 없습니다. 그렇게하는 ‘길’은 단지 만료 날짜를 2030 년과 같게 만드는 것입니다.


답변

원하는 것에 대한 구문이 없습니다. 만료를 설정하지 않으면 세션이 끝날 때 쿠키가 만료됩니다. 유일한 옵션은 임의로 큰 값을 선택하는 것입니다. 일부 브라우저는 2038 년이 지난 날짜에 ​​문제가 있음을 유의하십시오 (유닉스 시대 시간이 32 비트 정수를 초과하는 경우).


답변

Mozilla 문서 에서 예제로 할 수 있습니다 .

 document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";

추신

물론 인류가 여전히 10000 년의 첫 1 분 동안 코드를 사용한다면 문제가있을 것입니다 🙂


답변

모든 쿠키는 쿠키 사양에 따라 만료되며 설정할 수있는 최대 값은

 2^31 - 1 = 2147483647 = 2038-01-19 04:14:07

최대 쿠키 수명은

$.cookie('subscripted_24', true, { expires: 2147483647 });


답변

한 달 또는 그 밖의 만료 날짜에 쿠키를 설정 한 다음 사용자가 웹 사이트를 다시 방문 할 때마다 쿠키를 다시 할당 할 수 있습니다


답변

만료 날짜를 설정하지 않으면 쿠키는 사용자 세션이 끝날 때 만료됩니다. 유닉스 시대가 32 비트 정수를 통과하기 직전에 날짜를 사용하는 것이 좋습니다. 당신이 사용하는 것과 쿠키에 그것을 넣어 document.cookie = "randomCookie=true; expires=Tue, 19 Jan 2038 03:14:07 UTC;그 가정, randomCookie당신이 설정하는 쿠키이며, true그것의 각각의 값입니다.


답변

당신은 단지 할 수 없습니다 . 영원한 쿠키를 설정하는 데 사용할 정확한 코드는 없지만 오래된 트릭은 다음과 같습니다 current time + 10 years.

January 2038쿠키 ( 32 비트 int )에 대한 날짜가 지나면 날짜 가 즉시 삭제됩니다. 가까운 장래에 고쳐질 기적을 기원합니다. 들어 64 비트 INT , 년의 주위에 2110안전합니다. 시간이 지남에 따라 소프트웨어와 하드웨어는 변할 것이며, 오래된 것들 (현재 우리가 가지고있는 것들)에는 결코 적응하지 못할 것이므로 미래를 위해 지금 준비하십시오 .

2038 년 문제 참조