우아한 테코톡(9), 쿠키 vs 세션 vs 토큰 vs 캐시

2022. 8. 24. 19:44간단한 컴퓨터 이론/우아한테코톡

728x90
반응형

본 포스팅은 우아한Tech의 테코톡 연로그님의 쿠키 vs 세션 vs 토큰 vs 캐시 영상을 정리한 내용입니다.

각각의 차이점을 위주로 정리했습니다.


쿠키 vs 세션 vs 토큰 vs 캐시

1. 쿠키

1) 쿠키란?

쿠키란 서버가 사용자의 웹 브라우저에 데이터를 보내 사용자의 웹 브라우저 상에서 임시로 데이터를 저장하는 것을 의미한다.  쿠키는 사용자가 사이트에 방문할 때 데이터를 직접 저장하고 수정할 수 있다. 하지만 모든 데이터에 대해 수정할 수 있는 권한을 사용자에게 주는 경우에는 문제가 발생할 수 있다. 예를 들어 사용자가 VIP 권한을 수정하거나, 구매하지도 않은 상품을 구매했다고 수정하는 등의 동작은 불가능하도록 해야한다. 따라서 수정이 불가능한 정보는 쿠키에 저장하기에 부적절하다.  중요한 정보의 경우 세션에서 관리하고 사용자에 의해 조작되어도 크게 문제되지 않는 정보를 브라우저에 저장한다.


2. 세션

1) 세션

서버가 직접 관리하는 영역으로 사용자가 직접 수정할 수 없다. 중요한 정보는 세션에서 관리한다.

 

 

2) 세션에서 어떻게 사용자를 식별할 수 있나? 

사용자가 접근하면 기간이 짧은 세션ID 임시키를 발급한다. 사용자는 이 임시키를 가지고 있다가 중요한 데이터를 요청할 일이 생기면 해당 임시키를 서버쪽에 전달한다. 서버는 해당 임시키를 보고 사용자를 식별할 수 있다.

 

하지만 만약 서버 측에서 세션 정보를 모두 날린 경우에는 사용자가 더이상 데이터에 접근할 수 없는 문제가 발생한다. 이를 개선하기 위해 토큰이 도입되었다.

 


3. 토큰

1) 토큰이란?

사용자의 정보를 서버만 가지고 있는 비밀키를 통해 랜덤한 토큰을 발급할 수 있다. 사용자는 토큰을 가지고 있다가 서버에 전달하면 토큰이 유효한지, 사용자의 권한 등을 파악해서 사용자를 식별할 수 있다. 인증에 대한 정보를 사용자가 가지고 있다. 세션의 경우에는 인증에 대한 정보를 사용자가 저장한다.

 

사용자가 조작된 토큰을 전달하면 서버는 이를 정상적으로 발급한 것이 아니기 때문에 읽을 수 없고 사용자의 접근을 거부할 수 있다. 하지만 토큰의 경우 한 아이디로 여러 사용자가 접근하는 경우에는 토큰이 유효하기에 서버는 항상 입장을 허용한다. 하지만 세션으로 접속하는 경우 이를 방지할 수 있다. 따라서 상황에 따라 적절하게 판단하며 저장하는 방식을 다르게 하는 것이 중요하다.

 


4. 캐시

1) 캐시란?

자주 쓸 수 있는 데이터를 임시로 저장했다가 필요할 때마다 써내서 쓸 수 있도록 해주는 기능을 한다. 데이터를 가져오는데 비용이 많이 드는 경우에는 캐시를 사용해 비용을 줄일 수 있다.

 

캐시와 관련된 내용은 컴퓨터 구조 수업 중 캐시관련 포스팅을 확인하면 더 자세하게 배울 수 있다.

2022.06.13 - [강의 내용 정리/컴퓨터구조] - 컴퓨터 구조(12), Memory Hierarchy & Caches

 

컴퓨터 구조(12), Memory Hierarchy & Caches

Memory Hierarchy & Caches Memory is Critical for Performance - 메모리는 성능에 많은 영향을 미친다. ex) 메모리에서 로드 및 저장 -> 메인메모리나 디렘에서 한다면 매우 오랜 시간이 걸린다. ex2) 캐쉬..

konghana01.tistory.com

 

 

출처


https://www.youtube.com/watch?v=gA1KsJ2ak10

 

728x90
반응형