ASP와 ASP.Net에서의 쿠키 호환 문제

ASP와 ASP.Net은 정말 유사해 보이는 부분들도 많고 ASP.Net이라는 이름부터 ASP를 연상 시키기 때문에 ASP에서 해오던 동작들이 그대로 될 것이라고 믿고 실수하는 경우가 많다. 물론 오늘도 동일한 경우라고 할 수 있다.

현재 회원 통합을 위한 작업을 하고 있는데, 유지 보수를 핑계로 인터페이스 하는 부분을 ASP로 제작하였다. 그 중 하나가 쿠키를 떨어뜨리는데, 이상하게도 ASP.Net 페이지에서 읽혀지지 않는 것이었다. 처음에는 도메인 문제인가 의심도 해보고 쿠키의 Send/Recieve 상태를 확인해보고 여러가지 삽질을 해봤었다.

하지만 문제는 다른 곳에 있었다. 그 이유는 바로 ASP.Net이 쿠키를 읽고 쓸 때 인코딩을 변환한다는 점이었다. ASP의 경우 자동으로 UrlEncode/UrlDecode를 해서 읽고 쓰는 반면 ASP.Net은 이러한 동작을 하지 않기 때문에 일어나는 문제였다.(참고:ASP.NET이 기본적으로 쿠키를 UrlEncode 형식으로 인코딩하지 않는다 from MSDN)

이것 때문에 시간을 낭비한 것도 안타깝지만, 더욱 슬픈 것은 2년 반 전에 ASP.Net을 시작했을 때 겪었던 일인데 기억을 못하고 삽질을 했다는 것이다. ㅠ_ㅠ 물론 ASP와 ASP.Net간 쿠키 호환성 문제가 아니라 도메인 쿠키의 문제로 생각하고 접근 했기 때문이지만 뒤늦은 변명이다…쩝쩝

Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>