쿠키
- 사용자가 사이트에 방문하면 데이터를 저장하는 게 쿠키의 중요한 포인트
- 데이터를 직접 수정 가능
- 수정 불가능한 중요한 정보는 쿠키에 저장하기 부적절
세션
- 서버가 관리하여 사용자가 직접 데이터 수정X
- 서버는 세션ID라는 기간이 짧은 임시 키를 하나 발급
- 사용자는 이 임시 키를 갖고 있다가 서버로 요청할 일이 생기면 이 세션ID를 함께 보내줌
- 이 세션ID를 보고 서버가 사용자를 식별함
토큰
- 서버에서 유저에게 토큰을 줌
- 서버는 서버만 알고 있는 비밀 키(Secret Key)를 가지고 있음
- 사용자의 정보를 이 비밀 키를 통해서 랜덤한 문자열 같은 토큰을 발급할 수 있음
- 토큰을 사용자가 갖고 있다가 서버에게 전달 하면 또다시 비밀 키를 이용해서 토큰을 읽어 들임
- 토큰에 있는 데이터를 판별해서 사용자를 식별함
토큰의 한계점
- 한 아이디로 여러 사용자가 접근할 때, 토큰이 유효하기만 하다면 사용자가 같은 아이디로 들어오든 말든 서버는 항상 입장 허용함
- 세션에서 관리한다면 이미 접속한 적 있는 아이디로 다시 접속하는 경우 막는다든가 이런 식으로 서버가 컨트롤할 수 있음
- 상황과 서비스에 맞게 적절하게 선택해야 함
캐시(Cache)
- 가져오는데 비용이 드는 데이터를 임시로 저장했다가 필요할 때 꺼내서 쓸 수 있게 해주는 것
기억해두면 좋은 특징
- 쿠키 : 사용자에 의해 조작되어도 크게 문제되지 않을 정보를 브라우저에 저장
- 세션 : 인증에 대한 정보를 서버가 저장
- 토큰 : 인증에 대한 정보를 사용자가 저장
- 캐싱 : 한 번 전송 받은 데이터를 저장해놨다가 필요할 때 꺼내 쓰기 가능
참고
https://www.youtube.com/watch?v=gA1KsJ2ak10&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC
'개발 관련 강의 정리 > 10분 테코톡' 카테고리의 다른 글
[10분 테코톡] 매트, 토르의 MySQL 성능 최적화 정리 (0) | 2023.05.15 |
---|---|
[10분 테코톡] 앤지의 DB Replication 정리 (0) | 2023.05.14 |
[10분 테코톡] 🤔 조엘의 GC 정리 (0) | 2023.05.12 |
[10분 테코톡] 바니의 웹 보안 정리 (0) | 2023.05.11 |
[10분 테코톡] 찬, 레넌의 CI/CD와 무중단 배포 정리 (0) | 2023.05.10 |
댓글