Cookie vs Session

이재철·2022년 7월 6일
0

HTTP는 상태가 없는(Stateless) 프로토콜이기 때문에 사용자가 웹 브라우저를 통해서 특정 웹 사이트에 접속하게 될 경우 어떤 사용자가 접속했는지에 대한 정보를 파악 불가능

  • 쿠키 또는 세션을 사용하여 사용자를 구분하고 각 사용자에 맞는 정보를 제공

  • 클라이언트의 웹 브라우저에 저장되는 작은 데이터 조각, 서버가 클라이언트의 요청을 식별하는데 사용
  • 해커가 탈취할 수 있기 때문에 보안에 취약 (아이디, 비밀번호 등의 민감한 정보를 저장 ❌)
  • 세션 ID 관리, 서버에 저장해야 할 민감한 정보에 대한 식별자 ID
  • 개인화, 사용자 선호 및 테마
  • 트래킹, 사용자 행동 기록 및 분석

2. Session


  • 브라우저가 서버에 연결되어 있는 동안 유지되는 데이터 집합
  • 사용자가 웹사이트에 방문하여 서버에 요청을 보내면 식별할 수 있는 세션 ID를 Set-Cookie 헤더로 클라이언트에게 전송
  • 서버는 클라이언트를 식별하여 그에 맞는 정보를 응답으로 전송
  • 민감한 정보 관리, 사용자의 비밀번호 및 개인정보

3. Cookie와 Session 차이점


  • 클라이언트에 저장
  • 사용자가 삭제하거나 정해진 시간만큼 유지 (브라우저가 닫혀도 삭제 ❌)
  • 문자열만 저장
  • 속도가 빠름
  • 보안에 취약

Session

  • 서버에 저장 (메모리 또는 데이터베이스)
  • 브라우저가 꺼질 경우 삭제
  • 문자열, 객체 저장 가능
  • 속도가 비교적 느림
  • 서버에서 데이터를 갖고 있기 때문에 비교적 보안이 좋음
profile
혼신의 힘을 다하다 🤷‍♂️

0개의 댓글