쿠키와 세션은 웹 애플리케이션에서 사용자 상태를 유지하고 식별하기 위해 사용되는 기술입니다. 그러나 그들 간에 몇 가지 중요한 차이점이 있습니다.
HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우,
그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.
HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다.
웹 서버는 사용자가 브라우저에 정보를 저장하도록 지시하고, 브라우저는 그 정보를 클라이언트 컴퓨터에 저장합니다.
쿠키는 만료 날짜가 설정되어 있으면 해당 날짜까지 유지될 수 있으며, 만료 날짜가 없는 경우 세션 쿠키로 간주되어 브라우저가 닫힐 때까지 유지됩니다.
주로 사용자의 로그인 정보, 선호도, 쇼핑 카트 내역 등을 저장하는 데 사용됩니다.
일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다.
여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.
즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
세션은 서버 측에서 사용자 상태를 관리하기 위한 방법입니다.
각 사용자에 대해 서버는 고유한 세션 ID를 생성하고 이를 쿠키 또는 URL 매개변수를 통해 클라이언트에게 전달하여 사용자를 식별합니다.
세션은 일정 기간 동안 유지되며, 사용자가 브라우저를 닫거나 세션이 만료될 때까지 지속됩니다.
주로 사용자의 로그인 상태, 장바구니 내역, 사용자 프로필 등 중요한 정보를 유지하는 데 사용됩니다.
저장 위치: 쿠키는 클라이언트(사용자 컴퓨터)에 저장되고, 세션은 서버에 저장됩니다.
보안: 세션은 서버에 저장되기 때문에 상대적으로 안전하며, 쿠키는 사용자의 로컬 시스템에 저장되어 보안 위험이 있을 수 있습니다.
저장 용량: 세션은 서버 메모리에 저장되므로 제한된 용량만큼 데이터를 저장할 수 있지만, 쿠키는 사용자 컴퓨터의 하드 드라이브에 저장되므로 더 많은 데이터를 저장할 수 있습니다.
이러한 차이점들을 고려하여, 쿠키와 세션은 각각 다른 상황에 적합한 방법으로 사용됩니다.