HTTP -> 쿠키 세션 -> JWT

gnoesnooj·2022년 7월 3일
0

HTTP -> 쿠키 세션 -> JWT 흐름 정리

계속 스스로 물어볼때마다 대답을 못한다... !!!
추가적인 살을 더해가면서 수정해 나가자

  • HTTP -> 쿠키 세션 -> JWT 흐름 정리
    • http란, 웹상에서 서버와 클라이언트가 통신할때 사용하는 tcp 기반 하이퍼텍스트 전송 프로토콜입니다.

    • http는 tcp를 기반으로 동작하고 있습니다.

    • 하지만 http는 통신할때, 페이지가 바뀌면 매번 인증을 해야한다는 단점과, 모든 사용자들의 상태를 알고있으면 서버 리소스등 낭비가 심해서, 비연결성과 비상태성이라는 특징을 가집니다.

    • 이러한 특징들로 인해서 사용자정보를 알아내는 방법으로 세션과 쿠키로 나뉩니다.


    • 쿠키 : key, value, 요청시간, 도메인, 경로

    • 세션은 서버, 쿠키는 브라우저에 저장이 됩니다. 서버에 저장되기때문에 보안측면에서 유리하고, 브라우저가 종료될 때 까지 유지가 됩니다.

    • 쿠키는 브라우저에 저장이 되고, 키와 밸류로 이루어져있습니다. 인증에 필요한 정보를 가지고 있어서, 서버가 쿠키를 통해서 빠르게 사용자 식별이 가능하게 도와줍니다.

    • 쿠키를 통해서 서버가 세션을통해서 해야할 일들을 줄여주기때문에, 서버의 부담을 줄여주는 장점을 기대할 수 있다.

    • 인증정보 등 민감한 정보는 탈취될 위험이 있는 쿠키보다는 세션에 저장한다.

    • 세션을 사용하면 세션안에 아이디나 닉네임과 같은 정보가 있고, 세션아이디가 있기 때문에 사용자 회원 리포지토리에는 접근할 필요가 없지만, 세션 저장소를 활용해야하기 때문에, 요청이 많아질 경우 역시 서버 리소스에 부담이 된다.

    • 따라서 나온것이 토큰방법이다.


    • 서명, 헤더, 페이로드 세가지로 구성된 JWT를 통해서 인증을 한다.

    • 서버 입장에서 액세스와 리프레시 토큰만 주고나면 사용자의 상태를 알 필요가 없고, 로그인이 필요하면 엑세스토큰으로 요청을하면 서버에서 식별이 가능하다.

profile
누구나 믿을 수 있는 개발자가 되자 !

0개의 댓글