2000년대 초반부터 쿠키 관련 글을 여러 번 썼었는데, 관련 근거를 찾지 못해 

실험으로 겐또(?!)로 때려 맞춰서 대충 그렇구나 정도로 생각하고 있었다.

실제로 그 당시만 해도 웹 표준은 먼 나라 얘기라 각 브라우저 별로 제 멋대로 동작하기도 했었고...



최근에 드디어 확실한 쿠키 관련 규약을 찾았다.

바로 RFC문서. rfc2109.


>> 참조: https://www.ietf.org/rfc/rfc2109.txt


전체 내용을 쭉 다 훑어보면 확실히 도움이 되겠지만, 특히 4.2.2절과 6.3절은 유의해서 볼 필요가 있다.

쿠키 도메인을 명시적으로 지정할 때는 반드시 점(.)으로 시작해야 한다는 것 등...


jQuery Cookie 플러그인을 이용해 쿠키를 쓸 때와 ASP.NET C#으로 쿠키를 쓸 때의 일반적인 문법은 다음과 같다.


var hostname = window.location.hostname;

var cookieDomain = hostname.indexOf(".") > 0 ? hostname.substring(hostname.indexOf(".")) : hostname;

$.cookie("temp_id", "my id", { expires: 36500, path: '/', domain: cookieDomain });

위 예제는 쿠키를 하드디스크에 36500일, 즉 100년간 저장한다.


string hostname = Request.Url.Host;

HttpCookie authCookie = Response.Cookies["temp_id"];

authCookie.Value = "my id";

authCookie.Path = "/";

authCookie.Domain = hostname.IndexOf(".") > 0 ? hostname.Substring(hostname.IndexOf(".")) : hostname;

위 예제는 세션 쿠키, 즉 브라우저 메모리에만 저장한다.





Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]