질문

웹 애플리케이션에서 HTTP 캐싱의 중요성에 대해 설명하고, Cache-Control, 그리고 Last-Modified 헤더의 역할과 차이점을 설명해주세요. 브라우저 캐시를 효과적으로 활용하여 웹 성능을 최적화하는 전략과, 캐싱으로 인해 발생할 수 있는 잠재적인 문제들을 해결하는 방법에 대해 얘기해주세요

1. HTTP 캐싱

1-1. 의미

: 웹 브라우저가 서버로부터 다운로드한 리소스들을 저장해뒀다가 다시 사용하는 걸 가리킴.

1-2. 프론트엔드 개발자가 HTTP 캐싱에 대해서 왜 알아야 하는가?

  1. 사용자 경험 : 웹 페이지 로딩 속도에 영향을 끼치기 때문에 알아야 함. 브라우저는 이미 다운로드했던 리소스를 재사용하면 서버에 요청하고 응답받는 비용을 줄일 수 있어 더 빠르게 페이지를 로드할 수 있어 사용자에게 더 나은 사용자 경험을 제공할 수 있음
  2. 서버 부하 감소 : 서버는 여러가지의 요청을 받아서 처리를 하기 때문에 전체적으로 봤을때 불필요한 요청을 줄여서 서버의 과부하를 줄이는게 각자 요청을 할때 빠른 응답을 받을 수있는 가능성을 높여줄 수 있음

2. Cache-Control

: 캐싱을 할건지 말건지?

3. Last-modified

: 리소스의 마지막 수정 시간