🗂️ Web Caching이란?

정의

Web Caching은 자주 사용하는 응답이나 정적 자원을 임시 저장해 빠르게 재사용하는 방식이다.

캐시는 같은 데이터를 반복해서 요청할 때 매번 원본에서 다시 가져오지 않아도 되도록 돕는다.
이 때문에 응답 속도를 높이고 서버 부담을 줄일 수 있다.

⚙️ 캐시를 사용하는 이유

  • 응답 속도를 높이기 위해
  • 서버 부하를 줄이기 위해
  • 네트워크 전송량을 줄이기 위해
  • 반복 요청의 비용을 낮추기 위해

🧩 캐시 종류

Browser Cache

  • 브라우저가 응답을 저장한다.
  • 같은 자원을 다시 요청할 때 더 빠르게 처리할 수 있다.
  • 사용자가 직접 사용하는 가장 가까운 캐시다.

Proxy Cache

  • 중간 경로의 서버가 응답을 저장한다.
  • 여러 사용자가 같은 응답을 공유할 수 있다.
  • 기업망이나 프록시 서버 환경에서 활용된다.

CDN Cache

  • 지리적으로 가까운 서버에 캐시한다.
  • 전송 지연을 줄이는 데 유리하다.
  • 정적 자원 배포에 특히 강하다.

🔍 캐시 관련 헤더

헤더 설명
Cache-Control 캐시 정책을 지정한다
Expires 만료 시점을 지정한다
ETag 리소스 변경 여부를 식별한다
Last-Modified 마지막 수정 시각을 나타낸다

Cache-Control은 캐시 여부와 유지 방식을 세밀하게 제어할 때 가장 자주 사용된다.
ETagLast-Modified는 변경 여부를 확인하는 조건부 요청에 자주 활용된다.

🧪 캐시 동작 예시

  1. 사용자가 이미지를 요청한다.
  2. 브라우저는 캐시를 먼저 확인한다.
  3. 캐시가 유효하면 서버로 다시 가지 않고 바로 보여준다.
  4. 캐시가 만료됐으면 서버에 다시 요청한다.

📌 정리

  • Web Caching은 반복 요청 비용을 줄이는 핵심 기법이다.
  • 브라우저, 프록시, CDN 단계에서 모두 활용될 수 있다.
  • 캐시 헤더를 잘 설정하면 성능과 서버 효율이 좋아진다.

연결문서

댓글남기기