쿠키와 세션을 이용하는 이유?
- HTTP의 비연결성, 비상태성이라는 특징 때문
- 클라이언트가 요청을 했을 때, 그 요청에 맞는 응답을 보낸 후, 연결을 끊고, 서버는 클라이언트에 대한 상태 정보를 유지하지 않기 때문에 알 수 었게됨
쿠키
- 클라이언트 key-value 쌍으로 로컬에 저장되는 데이터 파일
- 유표시간내에서는 브라우저가 종료되어도 계속 유지
- 쇼핑몰의 장바구니, 로그인시 아이디, 비밀번호 저장, 팝업에서 오늘 더 이상 이 창을 보지않음
세션
- 쿠키를 이용하여 구현
- 각 클라잉언트에게 session ID를 부여, 클라이언트는 쿠키에 session ID를 저장
- 사용자 정보를 서버측에 저장하여 관리
- 브라우저가 종료될 떄까지 인증상태를 유지할 수 있음
- 보안은 좋지만, 서버자원을 차지하기 때문에 서버에 과부하를 줄 수 있고, 성능 저하의 요인이 될 수 있음
차이점
쿠키는 클라이언트로컬에 key-value 쌍으로 저장되며, 유효시간내에서는 브라우저가 종료되어도 계속 유지
세션은 브라우저가 종료되거나, 서버에서 해당 세션을 삭제할 수 있기 때문에 쿠키보다 보안성이 좋다.
또한 서버에 데이터를 저장함으로 서버 용량이 허용하는 한에서 제한 없이 데이터를 저장할 수 있다는 장점이 있지만 서버의 부하가 커질 수 있음