devlog_owen
231109 TIL) 쿠키 (Cookies),세션 (Session),JWT (JSON Web Token) 본문
요약
쿠키 (Cookies),세션 (Session),JWT (JSON Web Token) 개념정리
쿠키: 클라이언트 측에 저장되며 서버와의 상태를 유지하는 데 사용
세션: 서버 측에 저장되며 사용자의 상태를 유지하고 관리하는 데 사용
JWT: 클라이언트와 서버 간 안전하게 정보를 전송하고 인증하는 데 사용되는 토큰
쿠키 (Cookies)
개념: 클라이언트 측에 저장되는 데이터 조각(쿠키). 서버가 클라이언트에게 전송하여 클라이언트 측에 저장됨
용도: 사용자의 상태정보를 유지하거나 세션을 식별하는데 사용
작동방식: 클라이언트가 서버에 요청을 보낼대 마다 쿠키가 함께 전송됨. 서버는 클라이언트 요청에 따라서 쿠키를 읽고 쓸 수 있다.
쿠키는 간단하고 쉽게 사용할 수 있지만 클라이언트가 쿠키를 조작할 수 있어 보안적으로 취약하다.
그래서 민감한 정보는 서버에서만 관리하고 쿠키는 사용자가 누구인지 구분할 수 있는 정보를 반환하는거임
세션 (Session)
개념: 서버측에서 사용자 데이터를 저장하는 메커니즘. 일반적으로 쿠키를 통해 세션 식별자들을 클라이언트에게 제공함
용도: 사용자 로그인 상태, 장바구니 정보 등과 같은 데이터를 저장,유지
작동방식: 클라이언트가 처음 서버에 접속하면 서버는 세션을 생성함. 그 세션에 대한 식별자(일반적으로 세션 or 쿠키)를 클라이언트에게 제공함. 클라이언트는 이 식별자를 이용해 세션 데이터에 접근함.
세션은 데이터를 서버에 저장해 보안은 비교적 좋으나 사용자가 많거나 할 경우 서버부하가 걸릴 문제가 생길 수 있음.
JWT (JSON Web Token)
개념: JSON 형식으로 인코딩된 정보를 나타내는 토큰. 클라이언트와 서버간 정보를 안전하게 전송하는데 사용.
용도: 인증 정보를 안전하게 전달, 클라이언트와 서버간 토큰기반 인증에 사용
작동방식: header, payload, signature 형식으로 3가지 데이터 포함. payload에는 개발자가 원하는 데이터가 담겨있다. 페이로드와 비밀키를 가지고 signature가 생성되고 서버는 이 signature를 검증하여 인증정보를 확인함.
JWT는 변조만 불가능할 뿐 복호화(decode)가 가능하기 때문에 민감한 정보는 담으면 안됨
'TIL' 카테고리의 다른 글
231113 TIL) 알고리즘 코드카타 (1) | 2023.11.13 |
---|---|
231110 TIL) express.js, 미들웨어(Middleware)란? (0) | 2023.11.10 |
231108 TIL) 알고리즘 문제푸는 일상 (0) | 2023.11.08 |
231107 TIL) 백준, 프로그래머스 알고리즘문제 깃허브 자동커밋하기 (0) | 2023.11.07 |
2311006 TIL) try…catch문 에러핸들링 (0) | 2023.11.06 |