누구나 한 번쯤은
웹서핑을 하다 보면
쿠키 설정을 하라는 문구가 뜨거나.
이전 검색 기록들을 볼 수 있다거나,
광고들이 갑자기 내가 쿠팡에서
직전에 검색했던 상품들로
가득 찼던 경험이 있지 않은가
이것이 바로 쿠키(cookie)다.
쿠기는 크롬과 같은 브라우저에
저장되는 작은 텍스트 조각이며,
사용자의 인증을 도와주는 역할을 한다
만료기간이 존재하여
시간이 지나면 자동으로 삭제되지만,
개발자 도구에서 수정이나 삭제가 가능하며
제 3자 또한 조회할 수 있기 때문에
보안상 민감한 정보를 저장하기엔 부적절하다
따라서 남에게 탈취되거나 조작되어도
크게 문제가 되지 않는 정보들을 저장하면서
유저의 웹사이트 이용을 보다 편하게 해주는 역할이다
예를 들어,
다크 모드 설정 여부
자주 보는 웹툰 목록 등과
같은 간단한 정보들을 저장한다
그렇다면
캐시(cash 아니고 cache)는 무엇인가?
우리는 하루에도
수많은 사이트들을 접하게 된다
이때 이미지, 동영상, 웹 페이지 코드들과 같은
대량의 데이터를 서버로부터 전송받게 되는데,
이 작업을 매번 새로 한다면 시간이나
비용적 측면에서 매우 비효율적이다
이때 사용할 수 있는 것이
바로 캐시(cache)라는 녀석이다
(캐시에도 여러 종류가 있는데
여기서 다룰 녀석은 "브라우저 캐시")
한 번 전송받은
데이터를 저장해 놨다가
다시 사용할 때 꺼내 쓰면서
반복적으로 서버에 데이터 전송을
할 필요가 없도록 하는 것이다
덕분에 반복적으로 사용하는
콘텐츠들은 빠르게 이용할 수 있는 것이다
(데이터가 끊겼을 때 가장 마지막으로
들어갔던 사이트는 보여지는 이유)
하지만 이렇게 완벽해 보이는
캐시도 단점이 존재하는데,
첫 번째로 캐시는 쿠키와 다르게
유효기간이 존재하지 않으므로,
캐시가 많아지면 메모리
사용량 또한 증가한다는 점
두 번째로 원본 데이터가 변경된다면,
캐시 된 데이터와 불일치 할 수 있다는 점이 있다
이러한 단점들을 극복하기 위해
캐시를 사용할 때는 항상
캐시된 데이터와 원본 데이터가
일치하는지 확인하고,
적절한 만료시간을 설정하여
메모리 낭비를 하지 않도록 주의해야 한다
출처: https://www.differencebetween.info/difference-between-cache-and-cookie
'Computing and DB 🖥 > Computer Science' 카테고리의 다른 글
[디자인 패턴] 싱글톤 제 2장 - "싱글톤의 심화과정" (1) | 2024.01.25 |
---|---|
[디자인 패턴] 싱글톤 제 1장 - "개념 및 멀티 쓰레드와 이른 초기화" (0) | 2024.01.24 |
정적 콘텐츠(Static Content) & 동적 콘텐츠(Dynamic Content) (0) | 2024.01.12 |
Web Server 는 뭐고, WAS 는 도대체 뭐야? (0) | 2024.01.08 |
테스트 코드 작성하기가 귀찮다고? (0) | 2024.01.02 |