https://velog.io/@junghyeonsu/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%90%EC%84%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9D%84-%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
JWT 이란?
JSON WEB TOKEN 의 약자이다.
JWT를 사용하는 이유
HTTP 의 stateless 상태를 유지 하지 않는다 라는 특성때문에
서버와 클라이언트는 첫번째 통신을 하고나서 두번째 통신을 할때는 이전의 통신에 대한 정보를 가지고 있지 않기 때문에 새롭게 갱신을 해주어야 한다.
위의 특성들 때문에 사용자가 매번 서버에 요청을 보낼 때 마다 자신이 누구인지 계속해서 인증을 해주어야 했다.
매번 서버에 요청을 보내는 것은 그만큼 웹페이지가 느려지는 오버헤드가 발생하게 된다.
위와 같은 원인으로 인해 사용자가 누구인지 계속해서 인증을 하는 방법 대신 다른 로그인 정보를 유지시킬 방법이 필요하다.
vs SESSION
JWT를 사용하는 토큰 방식 말고도 세션 방식이 있다.
세션 방식은 서버의 메모리, 데이터베이스와 같은 서버의 자원들을 사용해서 사용자의 정보를 유지시키는 방식이다.
보안이 강하다는 장점이 있지만,
세션이 서버에 저장되기 때문에 서버의 리소스를 그만큼 필요로 하게 된다.
또한, 세션이 서버에 저장이 되고 트래픽 분산을 위해 여러개의 서버를 운영할 경우 세션이 저장된 서버에서만 요청을
보내야 한다는 단점이 있다.
토큰 방식
토큰 방식은 사용자가 로그인을 하면 서버에서 발행해주는 토큰을 가지고 브라우저의 저장소에 토큰을 유지시키는 방법이다.
토큰 방식의 장점은 서버에 저장하지 않으므로 어떤 서버에 보내든, 그 토큰이 유효한지만 체크하면 되기때문에 서버의 확장성을 가진다.
https://han-um.tistory.com/m/17
'공부기록 > 커뮤니티 프로젝트' 카테고리의 다른 글
Context api + Swr (0) | 2022.05.06 |
---|---|
JWT (4) (0) | 2022.04.17 |
JWT 공부 2 (0) | 2022.04.17 |
JWT 공부 (0) | 2022.04.16 |
띄어쓰기가 포함된 폴더 이동 (0) | 2022.04.14 |