Web Caching
🗂️ Web Caching이란?
정의
Web Caching은 자주 사용하는 응답이나 정적 자원을 임시 저장해 빠르게 재사용하는 방식이다.
캐시는 같은 데이터를 반복해서 요청할 때 매번 원본에서 다시 가져오지 않아도 되도록 돕는다.
이 때문에 응답 속도를 높이고 서버 부담을 줄일 수 있다.
⚙️ 캐시를 사용하는 이유
- 응답 속도를 높이기 위해
- 서버 부하를 줄이기 위해
- 네트워크 전송량을 줄이기 위해
- 반복 요청의 비용을 낮추기 위해
🧩 캐시 종류
Browser Cache
- 브라우저가 응답을 저장한다.
- 같은 자원을 다시 요청할 때 더 빠르게 처리할 수 있다.
- 사용자가 직접 사용하는 가장 가까운 캐시다.
Proxy Cache
- 중간 경로의 서버가 응답을 저장한다.
- 여러 사용자가 같은 응답을 공유할 수 있다.
- 기업망이나 프록시 서버 환경에서 활용된다.
CDN Cache
- 지리적으로 가까운 서버에 캐시한다.
- 전송 지연을 줄이는 데 유리하다.
- 정적 자원 배포에 특히 강하다.
🔍 캐시 관련 헤더
| 헤더 | 설명 |
|---|---|
Cache-Control |
캐시 정책을 지정한다 |
Expires |
만료 시점을 지정한다 |
ETag |
리소스 변경 여부를 식별한다 |
Last-Modified |
마지막 수정 시각을 나타낸다 |
Cache-Control은 캐시 여부와 유지 방식을 세밀하게 제어할 때 가장 자주 사용된다.
ETag와 Last-Modified는 변경 여부를 확인하는 조건부 요청에 자주 활용된다.
🧪 캐시 동작 예시
- 사용자가 이미지를 요청한다.
- 브라우저는 캐시를 먼저 확인한다.
- 캐시가 유효하면 서버로 다시 가지 않고 바로 보여준다.
- 캐시가 만료됐으면 서버에 다시 요청한다.
📌 정리
- Web Caching은 반복 요청 비용을 줄이는 핵심 기법이다.
- 브라우저, 프록시, CDN 단계에서 모두 활용될 수 있다.
- 캐시 헤더를 잘 설정하면 성능과 서버 효율이 좋아진다.
댓글남기기