TL;DR

  • 쿠키: 보안상으로 안전하지 않으므로 민감한 정보를 다루기엔 적합하지 않다.
  • 세션: 따로 저장소를 사용해야 한다. → 시간/공간 복잡도 면에서 손해가 크다.
  • JWT
    • 장점
      • 임의로 수정하기 어렵다는 점에서 쿠키보다는 안전하다.
      • 따로 저장소를 사용하지 않는다는 점에서 세션보다는 효율이 좋다.
    • 단점
      • payload가 암호화된 건 아니라 민감한 정보는 넣으면 안된다.
      • 기한이 남은 토큰을 임의로 만료시킬 수 없다. → 이를 위해서는 저장소가 필요하다.