Cookie
http 페이지 요청시 서버가 클라이언트에 발급하며 Response의 set-cookie에 담긴다.
cookie를 받은 후 클라이언트가 서버에 요청할 때마다 쿠키를 같이 보낸다.(in Request)
브라우저가 종료될 때 쿠키는 삭제된다.
하지만, 종료 시점에 클라이언트 메모리에 저장할 수 있다.
Session
방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 본다.
Session Id: 서버에서 로그인 된 사용자를 식별하는 ID
동작
1. 클라이언트가 서버로 접속(요청)을 시도한다.
2. 서버는 클라이언트의 Request-Header field인 Cookie를 확인하여 클라이언트가 Session Id를 보냈는지 확인한다.
3. Session Id가 존재하지 않는다면 서버는 Session Id를 생성해 클라이언트에게 돌려준다.
4. 서버에서 클라이언트로 돌려준 Session ID를 Cookie를 사용해 저장한다.
(톰캣의 경우 쿠키 이름은 JSESSIONID)
5. 클라이언트는 재접속시 이 쿠키(JSESSIONNID)를 이용하여 Session-ID 값을 서버에 전달한다.
Set-Cookie: JSESSIONID=3CB361E0BE1A9A7DE7DB926DF0772BAE