면접에서 “캐시의 장단점과 어떤 부분에 활용하는지 설명해 주세요. 프론트엔드에서 캐시를 사용할 수 있는 영역을 제시해 주세요.”라는 질문이 자주 나옵니다. 개념부터 활용 영역까지 정리해 보겠습니다.

캐시란?

자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소를 의미합니다.


장점

캐시에 데이터를 미리 복사해 놓으면, 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있습니다.

  • 반복적으로 동일한 결과를 돌려주는 경우(특정 이미지나 썸네일 등)에 사용합니다.
  • 원래 데이터에 접근하는 시간이 오래 걸리거나, 값을 다시 계산하는 시간을 절약하고자 할 때 사용합니다.

단점

메모리 저장 공간은 속도가 빠를수록 용량이 작고 가격이 높습니다. 그래서 가격 때문에 캐시에 저장할 적은 양의 정보를 잘 선택하는 것이 비용도 절약하고 효율도 높이는 방법입니다.


활용되는 부분

프론트엔드에서는 이미지, CSS, JS 등을 캐싱하여 웹 페이지 로딩 속도를 향상시키는 데 활용됩니다. 이를 통해 사용자는 페이지를 빠르게 로딩할 수 있어 더 나은 사용자 경험을 누릴 수 있습니다. 또한 캐시를 활용하면 서버 부하를 줄일 수 있어 더 나은 서비스를 제공할 수 있습니다.

다만, 사용자에 따라 개인화된 페이지나 콘텐츠가 자주 변하는 페이지의 경우에는 캐시를 지양하는 것이 좋습니다.


캐시를 사용할 수 있는 영역

브라우저 캐싱

이전에 방문했던 페이지, 제목의 썸네일 등을 서버로 요청하지 않고 브라우저에 캐싱해 두면, 사용자는 자신의 요청을 서버로부터 기다리지 않고 바로 캐시 메모리로 응답받을 수 있습니다. 따라서 웹 서핑이 빠르다고 느끼고, 서버는 불필요한 요청을 받지 않아 과부하를 피할 수 있습니다. (한 번 받아온 리소스를 재사용하여 속도가 빨라짐)

프록시(Proxy)

웹 브라우저와 서버 사이에 프록시를 두는 방식입니다. 프록시는 “대리인”이라는 뜻으로, 중간에서 무언가를 대신해 주는 것을 말합니다. 프록시는 여러 컴퓨터로부터 요청을 받고 처리하다 보니 같은 데이터가 자주 접근될 확률이 높아져 캐시의 성능이 좋아지고, 데이터를 캐시에서 반환하는 확률이 더 높아집니다. (조직 내에서 접속하는 웹사이트의 리소스를 캐시하여 속도가 빨라지고 네트워크 사용량을 줄임)


한 줄 요약

캐시는 자주 쓰는 데이터를 미리 복사해 둔 임시 저장소로, 접근 속도를 높이고 서버 부하를 줄이지만 저장 공간이 비싸 무엇을 담을지 잘 선택해야 합니다. 프론트엔드에서는 브라우저 캐싱프록시 캐싱 등에서 활용할 수 있으며, 개인화·실시간 콘텐츠에는 지양하는 것이 좋습니다.

Categories:

Updated: