etc.

[HTTP] HTTP 캐시

hid1 2022. 8. 24. 19:39

캐시 (cache)


 

'캐시는 요청과 관련된 응답을 저장하고 저장된 응답을 후속 요청에 재사용한다.'

즉 이전에 가져온 리소스들을 재사용함으로써 웹의 성능을 향상할 수 있다.

 

리소스들을 재사용함의 이점

  • 레이턴시(Latency, 지연시간)와 네트워크 트래픽을 줄여줌으로써 리소스를 보여주는 데에 필요한 시간을 줄인다.
    => 클라이언트와 캐시가 가까울수록 응답 속도가 빨라진다.
  • 요청을 서버에 전달할 필요가 없으므로 서버 부하가 적어진다.

 

웹 사이트에서 캐싱은 높은 성능을 달성하는 데에 주요한 요소이다.

반면 모든 리소스가 영원히 변하지 않는 것은 아니므로 리소스가 변하기 전까지만 캐싱하고 변한 이후에는 더이상 캐싱하지 않는 것이 중요하다.

 

 

Cache-Control


HTTP Cache-Control 헤더는 요청과 응답에 있어 캐싱 메커니즘을 위한 지침를 지정하는데 사용된다.

캐싱 정책을 정의하고자 한다면 Cache-Control를 사용할 수 있다.

  • public : 응답이 어떤 캐시에 의해서든 캐시된다
  • private : 응답이 단일 사용자를 위한 것이며 공유 캐시에 의해 저장되지 않아야 한다.
  • max-age=<seconds> : 캐시 유효 기간을 설정할 수 있다.
  • no-cache: 캐시가 유효한지 확인하기 위해 매번 서버에 요청한다.
  • no-store: 어떤 요청도 캐시로 저장하지 않는다.

 

 


 

 

HTTP caching - HTTP | MDN

웹 사이트와 애플리케이션의 성능은 이전에 가져온 리소스들을 재사용함으로써 현저하게 향상될 수 있습니다. 웹 캐시는 레이턴시와 네트워크 트래픽을 줄여줌으로써 리소스를 보여주는 데에

developer.mozilla.org

 

반응형