공부/서버

[서버/백엔드] 쿠키, 세션, 캐시 (Cookie, Session, Cache)

오잎 클로버 2022. 1. 21. 22:50
728x90

웹에 대해서 공부하기 위해 필수적으로 알아둬야하는 기초적인 내용 중 

쿠키, 세션, 캐시에 대해서 기록해두고자 포스트하기로 했다.

 

쿠키(COOKIE)

쿠키 Cookie

쿠키는 브라우저가 소지할 수 있는 정보들을 저장하는 저장소입니다.

개인이 확인하고 수정하고 삭제할 수 있는 정보들이 담긴 저장소입니다.

본인이 확인하고 수정 및 삭제할 수 있는 만큼 보안적으로 좋은 방법은 아닙니다. 그래서 중요한 정보들은 쿠키에는 저장하지 않습니다.

 

쿠키는 보통 자동 로그인, 오늘 하루동안 보지 않기 등

이용자들의 편리함을 주기위한 용도로 주로 사용됩니다.

 

 

 

세션(SESSION)

세션은 본인이 소지할 수 없는 정보들을 저장하는 저장소입니다.

서버에서 이를 관리하는 메모리 혹은 DB에 의해 저장이 됩니다.

서비스를 운영하는 쪽에서만 확인가능한 저장소입니다.

한 마디로 개인정보들이 대부분 저장됩니다.

세션은 로그인을 하면 시간제한이 있는 키(KEY)를 쿠키에 넣어서 response해줍니다.

그리고 해당 키(KEY)를 담아서 http 요청을 하면 서버 측에서는 해당 키를 가지고 

해당 키(KEY)에 해당한 클라이언트에 대한 정보들을 제공해줍니다.

 

 

 

캐시(CACHE)

캐시는 큰 데이터와 시간 등을 들여야하는 정보들을 임시적으로 저장하는 저장소입니다.

파일들이 대부분 캐시에 저장이 되는 데,

예시를 들자면

사진을 클라이언트 측에서 요청을 하고선 다른 곳으로 가서 한동안 아무런 요청이 들어오지 않았다고 해서

이 사진을 다시 한 번 더 가져올려면 많은 데이터가 처리해야할 뿐 아니라 시간이 많이 들 것입니다.

그렇기에 임시적으로 저장을 하는 임시저장소의 역할을 수행합니다.

 

 

 

쿠키와 세션

웹 개발을 하거나 서비스를 개발을 할 때 

어떤 경우에 쿠키를 사용할 지 세션을 적용할 지 정하게 되는 데

이를 정할 때 신중하게 정해야합니다.

쿠키가 너무 많으면 보안적으로 위험할 가능성이 높고

세션이 너무 많으면 요청이 너무 많이 들어올 때 시간이 많이 소요될 수 도 있습니다.

이렇기에 신중하게 정해야합니다.

 

 

이상입니다.