HTTP는 Stateless한 프로토콜
Stateless
: 클라이언트, 서버 어느쪽에도 상대에 대한 정보를 담고 있지 않음. 따라서, 모든 메세지는 독립적으로 보내짐
이렇게 해 모든 사용자의 요청마다 연결과 해제의 과정을 거치며 연결 상태를 유지하지 않고, 연결 해제 후에도 상태 정보를 저장하지 않아 서버의 자원을 크게 절약할 수 있음
하지만 같은 사용자가 여러번의 요청을 보낼 때 항상 new visitor라고 생각해 매번 연결을 설정함
💡 HTTP의 무상태성을 보완하여 서버가 클라이언트를 식별하게 해주자!
: 웹 사이트에 접속할 때 생성되는 정보를 담은 파일
: 일정시간 동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술
일정시간: 웹 서버 접속부터 브라우저 종료까지
서버에서 가지고 있는 정보
사용자에게 발급된 세션을 열기 위한 열쇠(SESSION ID)
즉, Client는 쿠키를 이용, Server는 쿠키를 받아 세선의 정보에 접근
인증의 책임을 서버에 짐
로그인한 사용자에 대해서만 세션을 생성하는 것이 아니라
로그아웃하면 새로운 사용자로 인식해서 새로운 세션이 생성
각 사용자는 고유 아이디를 가짐
따라서, 서버는 쿠키를 받았을 때 회원정보를 확인할 필요가 없음
👉 서버의 자원에 접근하기 용이