쿠기와 세션의 개념, 차이( 다시 정리 해야됨 )

배병일·2023년 8월 25일

쿠키(Cookie)와 세션(Session)은 웹 개발에서 사용되는 두 가지 중요한 개념으로, 웹 애플리케이션의 상태를 관리하고 사용자와 상호 작용하기 위해 사용됩니다. 이 둘은 다음과 같이 정의되며, 주요한 차이점이 있습니다.

쿠키(Cookie):

쿠키는 클라이언트 측에서 저장되는 작은 데이터 조각으로, 주로 브라우저에 저장됩니다.
서버에서 클라이언트(브라우저)로 전송되며, 클라이언트 측에서 관리됩니다.
쿠키는 주로 텍스트 형태의 데이터로, 이름-값(key-value) 쌍으로 저장됩니다.
클라이언트가 웹 서버에 요청을 보낼 때, 관련된 쿠키가 함께 전송되어 서버와 클라이언트 간의 상태 정보를 유지합니다.
쿠키는 만료 기간을 설정할 수 있으며, 만료되면 자동으로 삭제됩니다.
주로 사용자의 로그인 상태, 선호 설정, 장바구니 등을 유지하는 데 사용됩니다.
세션(Session):

세션은 서버 측에서 상태 정보를 유지하는 데 사용되는 메커니즘입니다.
클라이언트가 서버에 요청을 보낼 때, 서버는 클라이언트에 고유한 세션 식별자(Session ID)를 부여하고 이를 서버 측에 저장합니다.
서버는 이 세션 ID를 사용하여 클라이언트의 상태 정보를 유지하고 관리합니다.
세션은 일반적으로 서버 측에서 메모리나 데이터베이스에 저장됩니다.
보안 면에서는 쿠키보다 안전하며, 민감한 정보를 저장하기에 더 적합합니다.
주요 차이점:

위치: 쿠키는 클라이언트 측에 저장되고 관리되며, 세션은 서버 측에서 유지됩니다.
데이터 크기: 쿠키는 작은 데이터 양을 저장하는 데 사용되며, 세션은 대부분의 데이터를 저장할 수 있습니다.
보안: 세션은 쿠키보다 상대적으로 보안이 더 높습니다. 세션 데이터는 클라이언트에 직접 노출되지 않고, 서버에 안전하게 저장됩니다.
수명: 쿠키는 만료 날짜를 설정할 수 있으며, 클라이언트에서 지정한 만료 시간에 자동으로 삭제됩니다. 세션은 클라이언트가 로그아웃하거나 브라우저를 닫을 때 종료됩니다.
보통은 쿠키와 세션을 조합하여 웹 애플리케이션의 상태를 관리합니다. 쿠키는 클라이언트 측에서 빠르게 정보를 확인하고, 세션은 중요하고 민감한 정보를 안전하게 관리하는 데 사용됩니다.

0개의 댓글