[ASP.NET & HTML] 쿠키(Cookies)와 세션(Session) 비교 설명


웹 환경에서 쿠키(Cookies)와 세션(Session)은 상대 유지 또는 자원 사용 등 비슷한 기능을 수행하고 있습니다. 기능 뿐만 아니라 동작 방식도 비슷하게 작동합니다.
일반적인 세션은 쿠키를 바탕으로 동작하기 때문에 서로 유사하게 작동한다고 볼 수 있습니다.

하지만 여러 가지 차이점도 존재합니다. 작동되는 위치(저장되는 위치)나 저장되는 형식이 서로 다릅니다.
저장되는 위치가 클라이언트인지, 서버인지는 무척 중요한 의미를 갖습니다.

이번 글에서는 [ASP.NET & HTML] 쿠키(Cookies)와 세션(Session) 비교 설명을 해 보겠습니다.

[ASP.NET & HTML] 쿠키(Cookies)와 세션(Session) 비교 설명

쿠키(Cookie)와 세션(Session) 비교

▶ 쿠키와 세션을 한 눈에 파악할 수 있도록 표로 작성한 내용입니다.

  쿠키(Cookies) 세션(Session)
저장되는 곳 클라이언트 서버
저장되는 형식 텍스트 형식 Object 형
만료시점 쿠키 저장시 설정 가능 (설정 안하면 브라우저 종료시 소멸) 정확한 시점을 알 수 없다
리소스 클라이언트의 리소스 사용 서버의 리소스 사용
용량 제한 한 도메인 당 20개
쿠키 하나 당 4KB
총 300개
서버가 허용하는 한 용량에 제한이 없음

쿠키와 세션의 차이점 비교 설명

저장되는 곳
쿠키는 클라이언트의 웹 브라우저가 지정하는 메모리 또는 하드디스크에 저장 됩니다. 하지만 세션은 생성된 후 서버의 메모리에 저장 됩니다. 만약 클라이언트 측에서 쿠키 사용을 하지 않도록 브라우저를 설정해 놓으면 쿠키는 저장되지 않습니다.

만료 시점
쿠키는 저장할 때 Expires 속성을 정의해서 무효화 되어 삭제될 날짜를 정확히 지정할 수 있습니다. 하지만 세션은 클라이언트 측에서 로그아웃 하거나, 설정한 시간 동안 클라이언트 측의 반응이 없을 경우에만 무효화되므로 정확한 만료 시점은 알 수 없습니다.

리소스
쿠키는 클라이언트 측에 저장되고 클라이언트의 메모리를 사용하기 때문에 서버의 자원을 쓰지 않습니다. 하지만 세션는 서버에 저장되고, 서버의 메모리로 로딩 되기 때문에 세션이 생성될 때마다 그 만큼의 리소스를 차지하게 됩니다.

용량 제한
쿠키는 클라이언트도 모르게 접속 되는 사이트에 의하여 설정될 수 있습니다. 따라서 쿠키로 인하여 문제가 발생하지 않도록 하기 위하여 한 도메인 당 20개, 총 300개 그리고 하나의 쿠키 당 4Kb로 저장 용량을 제한해 놓고 있습니다. 하지만 세션은 클라이언트가 접속하면 서버에 의해서 생성되므로 그 개수나 용량에 제한이 없습니다.  

마무리

이렇게 쿠키와 세션은 서버와 클라이언트 간의 상태 유지, 자원 사용의 효율 그리고 개인정보 보호 등 여러 관점에서 살펴보면, 나름대로 장점과 단점을 가지고 있습니다. 따라서 사이트의 특성에 따라서 세션과 쿠키의 장점을 살려 적절히 사용한다면, 보다 효율적인 사이트를 구축할 수 있을 것입니다. 





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기