본문 바로가기
개발자 기술 면접/기타 질문

[기타] 쿠키와 세션의 차이

by se-black 2023. 12. 27.
쿠키

- 쿠키는 클라이언트(로컬)에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 이러한 쿠키는 클라이언트에 저장되어 필요 시 정보를 참조하거나 재사용할 수 있습니다.

 

세션

- 세션은 일정 기간 동안 사용자(클라이언트)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술입니다.

- 세션은 쿠키를 기반으로 하지만, 쿠키와 다르게 서버 측에서 저장하고 관리합니다.

- 서버는 세션 ID를 이용해 클라이언트를 구분하며, 웹 브라우저가 서버에 접속해 브라우저를 종료할 때까지 세션을 유지합니다.

 

쿠키와 세션의 차이
- 쿠키는 클라이언트에 저장되지만, 세션은 서버에 저장됩니다.
- 세션은 서버에 저장되므로 서버의 자원을 사용합니다.
- 반면에 쿠키는 클라이언트에 저장되므로, 서버의 자원을 사용하지 않는다는 이점이 있습니다.
- 서버에 요청을 보내는 사용자가 많을 경우 세션은 부하가 심할 수 있습니다.
- 쿠키는 정보를 직접 저장하고 요청을 보낼 수 있습니다. 이로 인해, 예를들어 쿠키에 사용자의 주민번호 같은 민감한 정보를 그대로 담아 HTTP 요청을 보낸다고 하면, 중간에서 정보를 스니핑 당할 수도 있습니다. 때문에 보안면에서는 세션이 더 우수합니다. 또한 세션은 쿠키를 이용해 쿠키에 세션 ID만 저장하고 서버에서 세션을 처리하기 때문에 비교적 보안성이 좋습니다.
- 쿠키는 만료시간 동안 파일로 저장되므로 브라우저를 종료해도 정보가 남아있습니다.
- 세션은 브라우저가 종료되면 만료시간에 상관없이 삭제됩니다.
728x90