240621
오늘의 학습
● AccessToken
● RefreshToken
Token을 사용하는 가장 간단하면서 대표적인 이유로는 로그인을 유지시키기 위함이다.
웹 환경에서는 HTTP 프로토콜 기반으로 사람과 사람이 컴퓨터를 통해 통신을 하게 된다. 여기서 사람과 사람은 클라이언트와 서버가 될 수 있다. 요청을 하는 곳은 클라이언트 요청을 받아서 올바른 요청에 대한 데이터를 전달해주는 곳이 서버이다. 누가 서버고 클라이언트고는 중요하지 않다. 결국 누구나 서버가 될 수 있고, 누구나 클라이언트가 될 수 있다.
Stateless
HTTP 프로토콜은 Stateless하다는 특징을 가지고 있다.
그렇다는건 웹은 HTTP프로토콜 기반으로 동작하기 때문에 웹은 결국 Stateless하다는 것이다.
여기서 말하는 Stateless란, 단어의 뜻을 풀면 무상태라는 뜻이 된다. 말그대로 상태를 가지고 있지 않는 상태인 것이다.
반대로는 Stateful 상태유지 개념이 존재한다. 상태유지 또한 말그대로 상태를 가지고 있다는 뜻이다.
여기서 가장 중요하고 헷갈릴 수 있는건 바로 "상태"일 것이다.
여기서 설명하고 있는 상태란 HTTP 프로토콜이건 아니건 웹이건 아니건 모든 컴퓨터간의 통신은 "연결"이라는 필수적인 과정이 필요하다. 이러한 연결의 유지를 통해 클라이언트의 요청에 대한 정보를 유지 즉, 상태를 유지 시킨다는 의미이다.
Stateless : 클라이언트의 한번의 요청으로 올바른 응답 데이터를 만들어 서버에서는 전달을 해주고 연결을 끊게 된다.
즉, 여러번 요청한다고 해서 상태를 서버에서 유지를 시켜주지 않는다.
Stateful : 클라이언트의 요청에 대해 연결을 유지시키고 클라이언트의 여러 요청에 대한 상태를 유지 시켜줄 수 있다.
( Stateful 단점으로는 너무 요청을 유지 시키기 때문에 많은 리소스를 차지하게 되므로 서버의 부하가 커질 수 있다. )
결국 웹에서의 요청과 응답은 Stateless하게 동작을 하게 된다.
Stateless의 단어의 뜻은 무상태이다. 무상태란, 말 그대로 상태를 가지고 있지 않는 상태인 것이다.
쉽게 말해, 컴퓨터와 컴퓨터간의 요청과 응답에는 필수적으로 연결이라는 것이 필요하다. 연결이 되어 있어야만 요청과 응답을 주고 받을 수 있다. 이건 당연한 사실이다.
하지만 이러한 연결을 유지시킬 필요가 있을까?
여기서 말하는 Stateless란, 무상태 라는 뜻이다.
요청과 응답에 대해 컴퓨터간의 연결을 유지시키지 않는
Stateless한 특성을 가지고
RefrechToken
# 오늘의 회고