📕 쿠키 & 세션
👉 사용목적
HTTP 프로토콜의 특징은
- Connectionless protocol
- 클라이언트가 request하면 서버에서 response하고 연결을 끊는 방식
- Stateless protocol
- 클라이언트의 상태 정보를 가지지 않는 서버 처리 방식
즉, 정보가 유지되지 않기 때문에 정보를 저장할 공간이 필요하다.
👉 특징
- 쿠키 (클라이언트 로컬 저장)
- 이름, 값, 만료일, 경로 정보로 구성
- 클라이언트에 총 300개의 쿠키 저장 가능
- 한 도메인에 20개의 쿠키 저장 가능
- 최대 크기는 4[kb]
- 세션 (웹 서버 저장)
- 웹 컨테이너의 상태를 유지하기 위한 정보 저장
- 브라우저를 닫거나, 서버에서 삭제했을 때만 삭제(보안적으로 좋다)
- 저장 데이터 제한 x
- 각 클라이언트에 고유 세션 ID 부여
👉 동작 방식
[출처] : https://tansfil.tistory.com/
👉 Link
#쿠키&세션 특징 및 차이
https://hahahoho5915.tistory.com/32
📕 JWT(Json Web Token)
👉 사용목적
쿠키는 보안에 취약하고 (사용자가 쿠키를 수정할 수 있으니깐)
세션은 서버 공간이 필요하다 (사용자가 많아질 경우 부담)
특히, 서버 여러대를 쓸 경우 비효율적이다.
그래서 토큰은 인증 정보를 서버나 세션에 저장하지 않고, 인증된 토큰을 발급해, 서버 요청할 때 마다 토큰을 함께 보낸다.
👉 특징
- Stateless 하면서도 서버확장에 적합
- 쿠키를 전달하지 않음으로 보안성(그치만 취약점이 있다)
- 확장성(구글 로그인을 하고 유튜브에연결)
- 여러 플렛폼과 도메인에서 사용가능(토큰이기 때문에 호환성 걱정이없다)
👉 동작 방식
[출처] : https://tansfil.tistory.com/
👉 Link
#토큰기반인증에 관한 소개
https://velopert.com/2350
#세션은 뭐고 JWT는 무엇일까
https://shino1025.blog.me/221568544633
#쿠키세션 JWT 장단점
https://tansfil.tistory.com/58