쿠키,세션,캐시,,,

J-USER·2021년 8월 10일
0

FE 

목록 보기
6/7
post-thumbnail

쿠키,세션,캐시..? 너희 뭐냐

웹 개발자라면 무조건 들어봤을 그 친구들입니다. 어렴풋이 뭔가 상태를 저장해두는...? 그런 정도로 알고 있는 분들도 많으실 겁니다.

막상 다른 사람들에게 이들의 차이점과 공통점을 정확히 설명하기는 쉽지 않습니다. 그래서 이번에는 이 3가지 개념을 훑어 보며 남에게 설명할 수 있도록! 한번 해보도록 하겠습니다.

쿠키 🍪

쿠키는 사이트를 방문하고 이용할 때 브라우저에 저장되는 내용입니다. 그렇다면 브라우저는 어디에 있나요?
바로 컴퓨터에 있죠! 그래서 즉 쿠키 데이터의 소유자는 지금 컴퓨터를 사용하는 사람인거죠.

마치 직접 들고다니는 수첩같은 느낌이에요!

🙋 그럼 엄청 편리한거 아니에요?
🤖 단점도 있음.

네 쿠키는 아주 편리하지만 그 임의로 고치거나 지울 수 있기 때문에 남이 훔쳐보거나 도둑질 하기도 쉽습니다... ( 마치 손에 들고다니는 수첩을 누가 가져가는 것 처럼...)
유저 입장에서는 민감하고 중요한 정보를 쿠키에 넣기에는 불안할 수 있습니다.

예를 들어 어떤 가게에서 다 먹고 나갈때 먹은 것에 대해 나갈때 일괄 계산한다고 가정해봅시다. 결제 금액이 적힌 내용을 수첩 같은 곳에 적으면 어떻게 될까요?

🙋 10만원 먹고 1만원으로 고쳐서 나가요!
🤖 ㅂㄷㅂㄷ

저런 상황이 발생할 수 있기 때문에 유저가 아닌 가게 측에서 다른 사람들이 개입할 수 없는 곳에 저장을 해야합니다. 바로 세션입니다.

세션 🗄

세션을 사용하는 사이트에 접속하게 된다면, 서버에서는 사용자를 구분하기 위한 기한이 짧은 임시 키를 보내 브라우저에 쿠키로 저장하게 됩니다. 그리고 이 사이트 내에서 중요한 정보는 해당 브라우저의 서버의 메모리나 DB에 저장이 됩니다.

마치 네이버 로그인 한번 해두고 새로운 탭창으로 네이버에 들어가도 자동 로그인이 되는 그런 st

브라우저가 이 사이트 페이지에 접속할 때마다 http 요청에 발급받은 임시 키를 함께 전송하면, 서버에서 사용자를 인식할 수 있게 됩니다.

🙋 그래서 쿠키 세션 차이가 뭡니까?

쿠키는 지워지거나 조작되어도 큰일이 없을 정도의 정보를 가지고 사용자의 편의를 주는 기능을 합니다. 예를 들어 아이디 저장, 팝업창 하루 안보기 로그인 안하고 장바구니에 담기 등이 있습니다.

세션은 누군가에게 노출이 되어서는 안되는 서비스 제공자가 직접 관리해야할 정보들은 세션으로 서버 안에서 다뤄지도록 합니다.

캐시 👜

캐시는 잠깐 물건을 넣어둘 큰 가방입니다. 마치 장보러 갈때 미는 카트같은 느낌이죠.

캐시는 웹 뿐만아니라 컴퓨터 메모리 부분이나 핸드폰 등 다양한 곳에서 쓰이는데요. 공통적으로 가져오는데 비용이 큰 데이터를 한 번 가져온 뒤에는 사용할지도 모르니 임시로 저장해 두는 것을 의미합니다.

웹캐시의 경우, 이미지 등의 정보를 불러올 때, 데이터 사용량도 발생하기 때문에 여러번 방문할 법한 사이트에서는 데이터를 사용자의 컴퓨터, 중간 역할을 하는 캐시 서버에 저장하게 됩니다.

profile
호기심많은 개발자

0개의 댓글