-
TIL_200617Today I Learned 2020. 6. 18. 01:57
쿠키와 세션 그리고 토큰
수많은 사용자 --- 클라이언트 --- 서버
서버는 지금 클라이언트에서 데이터를 요청하는 사용자가 누구인지 알아야 합니다.
또한 서버는 여러명의 사용자의 요청을 받고 정확한 데이터를 넘겨주어야 합니다.
그렇다면 클라이언트와 서버는 현재 사용자
클라이언트에서 사용자가 로그인을 한다면 쿠키가 생성되며 데이터가 클라이언트 상에 저장됩니다.
쿠키는 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다.
일정 시간동안 같은 브라우저로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지합니다.
쿠키 프로세스
1. 클라이언트가 페이지를 요청할때 웹 서버가 쿠키를 생성하여 보내줍니다.
2. 클라이언트가 받은 쿠키에는 정보가 담겨 있고 서버에 요청할때 보내집니다.
3. 클라이언트의 메모리에 쿠키가 있다면 페이지에 재접속할 때에 서버에 전송됩니다.
세션 프로세스
1. 서버에 요청을 시도한 클라이언트의 쿠키에서 세션ID를 확인합니다.
2. 세션ID가 없다면 서버에서 생성하여 클라이언트에 쿠키를 이용해서 보냅니다.
3. 서버에서 클라이언트로 보낸 세션ID를 쿠키를 이용해서 서버에 저장합니다.
세션을 구별하기 위해 필요한 ID를 쿠키를 이용해서 클라이언트에 저장하면
클라이언트가 서버에 어떠한 요청을 할때마다 전송된다. 서버는 받은 ID에 따른 처리를 합니다.
예를 들어 게시판에 글을 작성할 때 세션의 아이디를 통해서 작성자를 확인합니다.
'Today I Learned' 카테고리의 다른 글
TIL_200619 (0) 2020.06.20 TIL_200618 (0) 2020.06.18 TIL_200615 (Sequelize) (0) 2020.06.15 TIL_200611 (0) 2020.06.12 TIL_200601 (0) 2020.06.02