이 글은 인증에 대해 잘 모르는 분들도 최대한 이해할 수 있도록 작성되었습니다. 따라서 디테일함보다는 흐름에 집중하여 서술되었음을 미리 알려 드립니다.

로그인의 목적은 무엇일까요?

문득 생각해보니, '우리는 꽤나 많은 곳에 로그인이 되어있지 않은가?' 하는 생각이 듭니다. 네이버 서비스를 이용하기 위해, 카카오톡 메시지를 받기 위해, 또 유튜브 추천영상을 받기 위해 로그인이 되어있어야 합니다.

하지만 로그인을 하지 않고 서비스를 이용할 수 있는 곳도 많기에, 로그인은 내가 나 자신임을 알리기 위한 수단이라고 볼 수도 있겠습니다. 해당 과정을 '인증'이라고 하겠습니다.

출처: https://youtu.be/aK1zxCo7vUA

출처: https://youtu.be/aK1zxCo7vUA

최강록님은 경연에서 사용한 재료가 들기름임을 '인증'하셨습니다.

어떻게 내 자신임을 증명할 수 있을까요?

Http의 특징: Stateless

http 요청은 stateless로, 정보를 유지하지 않습니다.

출처: https://hanamon.kr/네트워크-http-http란-특징-무상태-비연결성

출처: https://hanamon.kr/네트워크-http-http란-특징-무상태-비연결성

각 요청은 독립적으로 수행 및 판단되며, 서버는 이전에 어떤 요청을 받았는지 기억하지 못 합니다.

image.png

따라서 모든 요청에 '무엇을 원하는지' 매번 적어줘야 합니다.

image.png

물론 내 자신임을 인증하는 것도 여기에 포함되겠죠? 영화의 한 장면으로 예시를 들어보겠습니다.

image.png

이를 클라이언트와 서버로 살짝 변경해보겠습니다.

image.png

이처럼 요청 시 특정 정보를 토대로 '이 요청은 특정 사용자의 요청이구나'를 알 수 있어야 합니다.