[TIL] 쿠키와 세션

thingzoo·2023년 8월 21일
post-thumbnail

질문 예시

쿠키, 세션의 개념과 차이를 설명해보세요.

쿠키와 세션은 웹 애플리케이션에서 사용자 인증, 상태 관리 등에 사용되는 기술입니다. 웹은 기본적으로 상태가 없는 무상태(stateless) 프로토콜인 HTTP를 사용하기 때문에, 이러한 기술들이 필요하게 됩니다. 쿠키와 세션의 개념과 차이점을 설명하겠습니다.

쿠키(Cookie): 쿠키는 클라이언트(브라우저)에 저장되는 작은 텍스트 파일로, 웹 서버가 이용자의 브라우저에 전송한 정보를 저장합니다. 쿠키는 웹 서버와 브라우저 간의 상태 정보를 유지할 때 사용됩니다. 로그인 상태 유지, 방문자 추적, 선호 사이트 설정 등의 목적으로 사용될 수 있습니다.

장점

  • 서버의 부하를 줄일 수 있습니다. 쿠키 정보는 클라이언트에서 저장되기 때문에 서버의 자원 사용이 적습니다.
    단점
  • 클라이언트에 저장되어 브라우저가 송수신하는 쿠키 정보가 탈취되거나 변조될 위험이 있습니다.쿠키는 용량이 제한되어 있어 많은 정보를 저장하기에는 적합하지 않습니다.

세션(Session): 세션은 쿠키와 달리 서버 측에서 사용자 정보를 저장하고 관리하는 기술입니다. 각각의 사용자에게 고유한 세션 ID를 할당하여 이를 쿠키 또는 URL 매개 변수로 사용하여, 서버에서 해당 사용자의 정보를 참조합니다. 사용자의 로그인 상태 유지, 사용자별 설정 정보 관리 등의 목적으로 사용될 수 있습니다.

장점

  • 사용자 정보를 보안성 높게 저장하고 관리할 수 있습니다. 사용자 정보는 서버에서 관리되므로 클라이언트에서 수정될 염려가 없습니다. 세션의 저장 용량에 제한이 없어, 다양한 정보를 저장할 수 있습니다.

단점

  • 사용자가 많아질수록 서버의 메모리 사용량이 증가합니다. 대규모 서비스의 경우 세션 정보를 별도의 데이터베이스 등에 저장해야 할 수도 있습니다.

쿠키와 세션의 차이점은 다음과 같습니다
1. 저장 위치: 쿠키는 클라이언트에 저장되며, 세션은 서버에 저장됩니다.
2. 보안성: 쿠키는 클라이언트에서 변조될 위험이 있고, 세션은 서버에서 관리되기 때문에 상대적으로 안전합니다.
3. 저장 용량: 쿠키는 용량이 제한되어 있으며, 세션은 제한이 없습니다.
4. 서버 부하: 쿠키는 서버의 부하가 비교적 적으며, 세션은 서버의 부하가 더 큽니다.
쿠키와 세션은 웹 애플리케이션에서 상태 정보를 유지하기 위한 기술로, 상황에 따라 적절한 기술을 사용하여 사용자 인증 및 개인화된 서비스를 제공할 수 있습니다.

profile
공부한 내용은 바로바로 기록하자!

0개의 댓글