영상에서는 각각의 용어들을 로그랜드라는 놀이공원에서 겪는 여러 상황들에 비유하여 풀어나갔다.
로그랜드에 입장해보자.
로그랜드는 관람객들이 입장할 때 쿠키
라는 쿠폰북을 지급해준다고 한다. 방문한 랜드마크의 스탬프를 찍을 수도 있고, 메모장으로 쓸 수도 있다.
그러나 관람객이 직접 들고 다니기 때문에 어떤 관람객은 VIP 등급으로 정보를 몰래 바꾼다던가, 구매내역을 슬쩍 바꿀 가능성도 있다.
로그랜드도 이 사실을 알고 있다. 따라서 중요한 고객 정보는 세션
이라는 로그랜드 본부에서 관리를 한다. 본부는 관람객들에게 세션ID 라는 값을 부여해주고, 관람객이 본부에 접근하고자 하면 그 값을 대조하여 관람객을 식별한다.
그러나 어느날 세션 정보를 관리하는 데이터베이스가 모두 날라가버렸다. 다시는 이런 일이 반복되지 않도록 로그랜드는 대책을 마련한다.
로그랜드는 모든 관람객들에게 토큰
이라는 티켓을 나눠주기로 했다. 토큰에는 로그랜드 본부만이 가지고 있는 비밀 키로 암호화한 문자열이 쓰여져 있다. 관람객들은 문자열의 의미를 알 수 없지만, 본부가 가지고 있는 키로만 해독해서 관람객 정보를 식별할 수 있다.
그렇지 않다.
토큰의 경우 여러 명의 사용자가 유효한 토큰 값을 알아내 계속해서 요청을 한다면 서버는 모두 유효한 요청으로 판단할 수 밖에 없다.
그러나 세션은 이미 접속한 적이 있는 아이디에서의 중복 접근을 골라낼 수 있다.
상황에 맞는 방법을 선택하는 것이 중요하다.
다시 로그랜드로 돌아와, 한 관람객이 기념품점에 들어와 핑크색 가방을 보여달라고 한다. 직원은 창고로 가서 가방을 가져왔으나, 관람객이 보이지 않는다. 직원은 관람객이 다시 돌아와 가방을 요청할 확률이 매우 높다고 생각해 다시 창고로 가져가지 않고 매장 옆 보관소에 둔다. 이렇게 하면, 관람객이 돌아와 가방을 요청했을 때 다시 창고로 가지 않아도 되기 때문이다.
자칫 헷갈릴 수 있는 개념을 재밌는 상황을 설정해 정리하니까 아주 명확하게 이해가 가서 유익한 영상이었다.
[10분 테코톡] 연로그의 쿠키 vs 세션 vs 토큰 vs 캐시