패스잇
프론트엔드 개발 · 중급

웹 성능 최적화에서 HTTP 캐싱이 중요한 이유를 설명하고, `Cache-Control` 헤더의 주요 지시어(예: `max-age`, `no-cache`, `must-revalidate`)들이 각각 어떤 역할을 하는지 구체적인 시나리오와 함께 설명해 주세요.

힌트 · 브라우저 캐시와 프록시 캐시의 동작 원리, 재검증(revalidation) 과정을 중심으로 설명하세요.

HTTP 캐싱Cache-Controlmax-ageno-cachemust-revalidate

모범답안

HTTP 캐싱은 웹 성능 최적화에 매우 중요합니다. 웹 페이지의 리소스를 브라우저나 프록시 서버에 저장해두고, 다음에 동일한 리소스가 필요할 때 서버에 요청하지 않고 캐시된 데이터를 사용함으로써 응답 시간을 단축하고 서버 부하를 줄일 수 있습니다.

Cache-Control 헤더는 캐싱 정책을 정의하는 데 사용됩니다.

  • max-age: 리소스가 캐시된 후 유효한 최대 시간(초)을 지정합니다. 예를 들어 max-age=3600은 1시간 동안 캐시를 사용하라는 의미입니다.

  • no-cache: 리소스를 캐시해도 되지만, 항상 서버에 재검증(revalidation)을 받아야 합니다. 즉, 캐시된 데이터를 사용하기 전에 서버에 "이 데이터가 아직 유효한가요?"라고 물어보는 것입니다.

  • must-revalidate: no-cache와 유사하지만, 캐시 서버가 오프라인 상태일 때 캐시된 데이터를 사용하는 것을 금지합니다. 서버에 연결할 수 없으면 에러를 반환해야 합니다. 예를 들어, 은행 웹사이트의 잔액 정보처럼 항상 최신 상태를 유지해야 하는 데이터에 유용합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 웹 성능 최적화 면접 질문

← 웹 성능 최적화 면접 질문 전체 보기