250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

231109 TIL) 쿠키 (Cookies),세션 (Session),JWT (JSON Web Token) 본문

TIL

231109 TIL) 쿠키 (Cookies),세션 (Session),JWT (JSON Web Token)

developer_owen 2023. 11. 9. 20:41
728x90

요약

쿠키 (Cookies),세션 (Session),JWT (JSON Web Token) 개념정리

 

쿠키: 클라이언트 측에 저장되며 서버와의 상태를 유지하는 데 사용
세션: 서버 측에 저장되며 사용자의 상태를 유지하고 관리하는 데 사용
JWT: 클라이언트와 서버 간 안전하게 정보를 전송하고 인증하는 데 사용되는 토큰


쿠키 (Cookies)

개념: 클라이언트 측에 저장되는 데이터 조각(쿠키). 서버가 클라이언트에게 전송하여 클라이언트 측에 저장됨

용도: 사용자의 상태정보를 유지하거나 세션을 식별하는데 사용

작동방식: 클라이언트가 서버에 요청을 보낼대 마다 쿠키가 함께 전송됨. 서버는 클라이언트 요청에 따라서 쿠키를 읽고 쓸 수 있다.

 

쿠키는 간단하고 쉽게 사용할 수 있지만 클라이언트가 쿠키를 조작할 수 있어 보안적으로 취약하다.

그래서 민감한 정보는 서버에서만 관리하고 쿠키는 사용자가 누구인지 구분할 수 있는 정보를 반환하는거임

 


 

세션 (Session)

개념: 서버측에서 사용자 데이터를 저장하는 메커니즘. 일반적으로 쿠키를 통해 세션 식별자들을 클라이언트에게 제공함

용도: 사용자 로그인 상태, 장바구니 정보 등과 같은 데이터를 저장,유지

작동방식: 클라이언트가 처음 서버에 접속하면 서버는 세션을 생성함. 그 세션에 대한 식별자(일반적으로 세션 or 쿠키)를 클라이언트에게 제공함. 클라이언트는 이 식별자를 이용해 세션 데이터에 접근함.

 

세션은 데이터를 서버에 저장해 보안은 비교적 좋으나 사용자가 많거나 할 경우 서버부하가 걸릴 문제가 생길 수 있음.

 


JWT (JSON Web Token)

개념: JSON 형식으로 인코딩된 정보를 나타내는 토큰. 클라이언트와 서버간 정보를 안전하게 전송하는데 사용.

용도: 인증 정보를 안전하게 전달, 클라이언트와 서버간 토큰기반 인증에 사용

작동방식: header, payload, signature 형식으로 3가지 데이터 포함. payload에는 개발자가 원하는 데이터가 담겨있다. 페이로드와 비밀키를 가지고 signature가 생성되고 서버는 이  signature를 검증하여 인증정보를 확인함.  

 

JWT는 변조만 불가능할 뿐 복호화(decode)가 가능하기 때문에 민감한 정보는 담으면 안됨

 

728x90