세션(Session) 과 쿠키(Cookie)

Moon Blue의 IT 로그 📝·2023년 3월 28일
0
post-thumbnail

🔖 세션(Session)

세션은 클라이언트와 서버 간의 일정 시간 동안 유지되는 상태 정보를 말합니다. 서버 측에서 관리되며, 사용자가 웹 사이트에 로그인하거나 서비스를 이용할 때 사용자의 정보를 저장하고 추적하는 데 사용됩니다. 세션은 일정 시간이 지나거나 사용자가 로그아웃할 경우 만료됩니다.

🔖 쿠키(Cookie)

쿠키는 클라이언트(브라우저)에 저장되는 작은 텍스트 파일로, 사용자의 웹 사이트 방문 정보를 저장하고 추적하는 데 사용됩니다. 쿠키는 서버가 클라이언트에게 보내는 응답에 포함되어 전달되며, 이후 클라이언트가 동일한 웹 사이트를 방문할 때마다 쿠키가 서버로 전송됩니다.

📊 세션과 쿠키 비교

항목세션(Session)쿠키(Cookie)
저장 위치서버클라이언트(브라우저)
저장 형태메모리 또는 DB텍스트 파일
보안성상대적으로 높음상대적으로 낮음
만료 시점일정 시간 후/로그아웃설정된 만료 기간이 지난 후
저장 용량클라이언트별로 제한 없음클라이언트별로 제한 있음

💡 장단점 및 사용 사례

세션을 사용하는 것이 쿠키보다 보안성이 높긴 하지만, 세션과 쿠키는 각각의 장단점이 있기 때문에 모든 상황에서 세션만 사용하는 것이 적절하지는 않습니다.

🧩 서버 부하

세션은 서버에서 관리되기 때문에, 사용자가 많은 경우 서버의 부하가 커질 수 있습니다. 반면 쿠키는 클라이언트(브라우저)에서 저장되기 때문에 서버 부하에 영향을 주지 않습니다. 서버 자원을 효율적으로 사용하기 위해 일부 상황에서는 쿠키를 사용하는 것이 좋을 수 있습니다.

🧩 응답 시간

세션은 서버에서 관리되므로, 클라이언트와 서버 간의 통신이 필요합니다. 이로 인해 응답 시간이 증가할 수 있습니다. 쿠키는 클라이언트에 저장되어 있어, 서버와의 통신 없이도 정보를 사용할 수 있으므로 응답 시간이 빠릅니다.

🧩 데이터 저장 용량

쿠키는 클라이언트에서 저장되기 때문에, 저장 용량에 제한이 있습니다. 일반적으로 하나의 도메인당 쿠키 저장 용량이 제한되어 있어, 많은 정보를 저장하기에는 부적합할 수 있습니다. 반면, 세션은 서버에서 관리되므로 용량 제한이 없습니다.

🧩 용도

쿠키는 사용자의 환경 설정, 방문 기록, 장바구니 등의 비교적 덜 민감한 정보를 저장하는 데 적합합니다. 반면, 세션은 로그인한 사용자의 인증 정보 등 보안이 중요한 정보를 저장하기에 적합합니다.


따라서, 세션과 쿠키는 각각의 특성에 따라 적절한 상황에서 사용되어야 합니다. 세션만 사용하게 되면 서버 부하가 커지고 응답 시간이 느려질 수 있으므로, 보안이 중요하지 않은 정보의 경우 쿠키를 사용하는 것이 더 효율적일 수 있습니다. 이러한 이유로 쿠키와 세션을 상황에 따라 함께 사용하게 됩니다.

profile
What a Beautiful World~ 🌏

0개의 댓글