skarltjr / Memory_Write_Record

나의 모든 학습 기록
0 stars 0 forks source link

쿠키와 세션 차이 #79

Open skarltjr opened 2 years ago

skarltjr commented 2 years ago

1. 쿠키

쿠키란?
- 클라이언트 로컬에 저장되는 !!! 키-값 데이터 파일
- 클라이언트의 상태 정보를 로컬에 저장했다가 참조

쿠키의 동작 방식
- 클라이언트가 페이지 요청
- 서버에서 쿠키 생성
- 서버에서 HTTP 응답 헤더에 쿠키 포함시켜 응답
- 클라이언트는 전달받은 쿠키를 만료기간까지 보관
- 다음에 다시 같은 사이트에 요청시 쿠키가 만료되지않았다면 이를 HTTP헤더에 포함하여 요청
- 서버는 쿠키를 읽고 만약 변경사항있다면 서버가 갖고있는 쿠키를 업데이트한 후 헤더에 포함하여 응답.

사용 예시
- 로그인정보를 쿠키에 저장하여 다음 요청시 이를 참조 

2. 세션

세션이란?
- 쿠키에 기반하지만 서버측에서 관리!!
- 서버의 처리가 필요하기에 쿠키보다 보안에서 우수
- 서버는 클라이언트를 구분하기 위해 세션ID를 부여 + 유저가 브라우저를 종료할 때까지 인증상태 
- 그러나 서버에서 관리하는만큼 메모리를 많이 차지하여 성능 저하의 요인이 될 수 있다.
- ★브라우저 종료시 삭제

세션의 동작 방식
- 클라이언트가 서버에 접속 시 세션 ID를 발급 받음
- 클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장하고 가지고 있음
- 클라리언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 같이 서버에 전달해서 요청
- 서버는 세션 ID를 전달 받아서 별다른 작업없이 세션 ID로 세션에 있는 클라언트 정보를 가져와서 사용
- 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답