HTTP 캐시는 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 저장소다.
편의점에서 매일 아침 같은 샌드위치를 사먹는다고 생각해보자. 두 가지 상황을 비교해보면:
상황 A: 매일 아침 집에서 편의점까지 걸어가서(5분) 샌드위치를 산다. 상황 B: 일주일치 샌드위치를 미리 사서 집 냉장고에 보관한다. 아침마다 냉장고에서 꺼내 먹는다(10초).
캐시는 바로 이 "냉장고"와 같은 역할이다.
웹 브라우저에서 이미지를 요청하는 상황을 보자:
첫 번째 요청:
브라우저 → 서버: GET /logo.jpg
서버 → 브라우저:
HTTP/1.1 200 OK
Content-Type: image/jpeg
Cache-Control: max-age=60 (60초 동안 캐시 유효)
Content-Length: 31025
[이미지 데이터 1.1MB]
브라우저는 이 응답을 "브라우저 캐시"라는 냉장고에 저장한다. 유통기한은 60초다.
두 번째 요청 (60초 이내):
브라우저 → 브라우저 캐시: "logo.jpg 있어?"
브라우저 캐시: "있어! 아직 신선해!" (유통기한 확인)
→ 서버 요청 없이 캐시에서 바로 사용