Untitled

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

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

쿠키(Cookie)

세션(Session)

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

Untitled

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

https://devuna.tistory.com/23