쿠키와 브라우저 로컬 스토리지의 차이는 무엇인가?

인증의 종류들에는 쿠키 이용 방식, OAuth 이용 방식, JWT 이용 방식 이렇게 세 가지밖에 없는가? 그리고 각각의 경우 어떻게 인증이 이루어지는가? 다이어그램으로 표현하면 어떠한가?


parse me

  1. 페이로드(영어: payload)는 사용에 있어서 전송되는 데이터를 뜻한다. 페이로드는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 데이터는 제외한다.
  2. 마이크로서비스 아키텍처가 발전함에 따라 각각의 API 서버들은 API 클라이언트에 대한 Authentication (인증)과 Authorization (인가/권한부여)를 위한 매커니즘이 필요합니다. JSON Web Token (JWT)는 마이크로 서비스의 인증, 인가에 사용할 수 있는 서명된 JSON 입니다. 토큰을 사용하면 세션을 통한 방식과 달리 서버측 부하를 낮출 수 있고 능률적인 접근 권한 관리를 할 수 있으며 분산/클라우드 기반 인프라스트럭처에 더 잘 대응할 수 있습니다.
  3. Cookie authentication diagram
  4. JWT를 이용한 인증 과정
  5. Token 인증 방식
  6. Session 인증 방식
  7. 웹 스토리지에는 로컬 스토리지 (local Storage)와 세션 스토리지 (session Storage)가 있다.

참고

  1. 많은 보안 웹사이트들은 로그인을 한 후 Cookies를 사용해 유저의 신원을 확인하여 모든 페이지에서 재인증을 거치지않아도 되게 됩니다.
  2. 쿠키란 http 프로토콜의 Connectionless의 특징을 보완하기 위해 고안된 것으로 브라우저가 서버 내의 어떤 문서와 어떤 커넥션이 이루어지고 있는지를 파일의 형태로 저장하는 것을 가리킨다.