브라우저를 통한 캐시 제어

발행: (2025년 12월 13일 오전 06:22 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

Cache는 자주 사용되는 콘텐츠에 대한 접근 속도를 높이기 위해 사용되는 메커니즘입니다.
시스템에 캐시를 구현할 때는 가능한 한 클라이언트에 가깝게 유지하는 것이 이상적이며, 브라우저 캐시를 활용해 접근 속도를 개선하고 서버 부하를 줄일 수 있습니다.

Cache‑Control

Cache‑Control 헤더는 브라우저가 응답을 어떻게 저장하고 재사용할지를 제어할 수 있게 해줍니다. 아래는 사용할 수 있는 주요 값들입니다.

default

  1. 유효한 캐시 버전이 있으면 반환됩니다.
  2. 캐시된 버전이 오래된 경우, 브라우저는 서버에 조건부 요청을 보냅니다(예: If-Modified-Since/ETag).
    • 변경 사항이 있으면 새로운 버전이 반환되고 캐시가 업데이트됩니다.
    • 그렇지 않으면 캐시된 버전이 재사용됩니다.
  3. 캐시에서 아무 것도 찾지 못하면 서버에 일반 요청을 보내고, 응답으로 캐시가 채워집니다.

no-store

  • 브라우저가 캐시를 무시합니다: 요청이 서버로 전송되고 응답은 저장되지 않습니다.

reload

  • 브라우저가 캐시를 무시하고 서버에 요청을 보낸 뒤, 받은 응답으로 캐시를 업데이트합니다.

no-cache

  • 브라우저가 캐시를 확인하고, 버전이 있으면 서버와 검증합니다.
    • 서버가 새로운 버전이 있음을 알려주면 해당 버전이 반환되고 캐시가 업데이트됩니다.
    • 그렇지 않으면 캐시된 버전을 사용합니다.

force-cache

  • 브라우저가 먼저 캐시를 사용하려 시도합니다:
    • (비록 오래되었더라도) 버전을 찾으면 반환합니다.
    • 찾지 못하면 서버에 요청을 보내고, 데이터를 반환한 뒤 캐시에 저장합니다.

max-age=

응답이 신선하다고 간주되는 시간을 초 단위로 정의합니다. 위 값들과 조합해서 사용할 수 있습니다. 예시:

Cache-Control: max-age=3600

Expires

Cache-Control 외에도 Expires 헤더를 사용해 응답이 오래되게 되는 날짜/시간을 지정할 수 있습니다:

Expires: Thu, 25 Dec 2025 18:18:18 GMT

지정된 시점이 지나면 해당 리소스는 만료된 것으로 간주되며, 브라우저는 새로운 버전을 가져와야 합니다.

Referências

  • (추가 참고 자료 없음)
Back to Blog

관련 글

더 보기 »

SVG 풀스택 웹사이트

기사 URL: https://github.com/icitry/SVGWebsite 댓글 URL: https://news.ycombinator.com/item?id=46270597 점수: 8 댓글: 1

UAE 시장을 위한 저지연 웹 개발

웹 개발에서 Latency 이해하기 Latency는 사용자의 행동과 웹사이트의 응답 사이에 발생하는 지연을 의미합니다. 작은 지연이라도 부정적인 영향을 미칠 수 있습니다.