Computer Science/네트워크

[1. Application Layer] 쿠키와 세션 -특징과 차이점

밥은답 2023. 4. 19. 23:36
반응형

HTTP는 Stateless이기 때문에 사용자의 정보를 저장하지 않는다

그럼 서버가 사용자를 확인해야할 경우(접속을 제한, 활동 추적, 장바구니, 로그인정보 저장 등) 어떻게 해야할까?

바로 쿠키를 사용하는 것이다. 그럼 사용자를 확인할 수 있게 해주는 쿠키와 세션의 특징과 차이를 알아본다


Cookie

  • 쿠키는 사용자의 로컬에 저장되어있다
  • 연결을 종료하여도 다음에 다시 연결할 때 HTTP Request 헤더에 자동으로 Cookie를 넣어서 요청한다
  • 그렇기 때문에 서버는 사용자의 정보를 갖고있음

Session

  • 쿠키는 로컬에 저장된다면 세션은 서버측에 저장이 된다
  • 쿠키를 기반으로 동작한다
  • 사용자가 Request를 보낼시 Session ID를 부과
  • 사용자의 정보가 서버측에 저장되기 때문에 로컬에 저장되는 쿠키보다 상대적으로 보안에 강하다
  • 하지만 서버측에 저장을 하다보니, 사용자가 증가하면 메모리에 부하가 오며 성능 저하의 원인

정리

세션은 쿠키를 기반으로 동작한다. 하지만 쿠키와 세션의 가장 큰 차이는 이들의 저장위치라고 할 수 있다.
쿠키는 사용자의 로컬에 저장되고 반면에 세션은 서버측에 저장이 된다.
사용자의 로컬에 저장되는 특징 때문에 쿠키는 변질 될 수 있는 가능성이 있고 이는 보안상 취약점이 될 수 있다.
반면에 세션은 오로지 Session ID를 통해서 식별하고 서버측에 저장이 되어있기 때문에 상대적으로 보안에 강하다고 할 수 있다.
하지만 로컬에 존재하는 특징을 갖고 있기 때문에 쿠키는 세션보다 속도가 빠르다

반응형