Untitled

하나의 서비스에는 여러 사용자가 이용할 수 있다. 여러 사용자마다의 정보를 서버에 저장해두면 서버는 자원이 부족할 것이다. HTTP 는 서버의 자원을 절약하기 위해 모든 사용자의 요청을 연결과 해제의 과정을 거치고 클라이언트 측의 정보를 서버에 저장해두지 않는다. 이를 비연결성(Connectoinless) 과 비상태성(Stateless) 라고 한다.

하지만 클라이언트의 정보를 서버에 저장해두지 않기 때문에 서버는 클라이언트를 식별할 수가 없어 같은 사용자의 요청도 모두 다른 사용자로 인식할 수 있다는 단점이 있다. 이러한 단점을 해결하기 위해 사용되는 것이 쿠키와 세션이다.

쿠키(Cookie)

세션(Session)

쿠키와 세션을 이용한 사용자 인증 방식

Untitled

  1. 서버에서는 사용자로부터 요청이 있을 때 사용자를 구분하기 위한 임시쿠키 하나를 보내 저장한다.
  2. 저장된 쿠키는 웹 브라우저의 쿠키저장소에 저장된다.
  3. 이후 같은 사이트의 서버를 방문할 때마다, 저장된 쿠키를 요청할 header 에 담아 함께 다시 서버로 전송한다. 서버는 전송받은 쿠키와 서버에 저장된 사용자 정보를 비교하여 같은 사용자임을 확인한다.

https://devuna.tistory.com/23