쿠키에 대한 몇 가지 기본 사항이 누락되어 있어야합니다. 나는 서버 측에 쿠키를 설정 로컬 호스트에 와 로컬 호스트 (또는 .localhost) 명시 적으로 도메인을 지정합니다. 쿠키가 일부 브라우저에서 허용되지 않는 것 같습니다.
Firefox 3.5 : Firebug에서 HTTP 요청을 확인했습니다. 내가 보는 것은 :
Set-Cookie:
name=value;
domain=localhost;
expires=Thu, 16-Jul-2009 21:25:05 GMT;
path=/
또는 (도메인을 .localhost로 설정 한 경우) :
Set-Cookie:
name=value;
domain=.localhost;
expires=Thu, 16-Jul-2009 21:25:05 GMT;
path=/
두 경우 모두 쿠키가 저장되지 않습니다.
IE8 : 추가 도구를 사용하지 않았지만 쿠키가 후속 요청에서 다시 전송되지 않기 때문에 쿠키도 저장되지 않은 것 같습니다.
Opera 9.64 : localhost와 .localhost 모두 작동 하지만 Preferences에서 쿠키 목록을 확인하면 도메인이 localhost (목록 그룹화) 아래에 나열되어 있어도 도메인은 localhost.local로 설정됩니다.
Safari 4 : localhost 및 .localhost는 모두 작동 하지만 환경 설정에서 항상 .localhost로 나열됩니다. 반면에 명시 적 도메인이없는 쿠키는 로컬 호스트 (점 없음)로 표시됩니다.
localhost의 문제점은 무엇입니까? 이러한 불일치로 인해 localhost와 관련된 특수 규칙이 있어야합니다. 또한 왜 도메인에 점이 붙어야하는지는 명확하지 않습니다. RFC 2109는 다음과 같이 명시 적으로 설명합니다.
Domain 속성 값에 포함 된 점이 없거나 점으로 시작하지 않습니다.
왜? 이 문서에는 보안 관련 작업이 필요하다는 내용이 나와 있습니다. 나는 전체 사양을 읽지 않았다는 것을 인정해야하지만 (나중에 할 수도 있음) 조금 이상하게 들립니다. 이를 기반으로 localhost에서 쿠키를 설정하는 것은 불가능합니다.