[Server] HTTP 캐시

easyone·2026년 8월 25일

SERVER

목록 보기
6/6

프록시 캐시

  • 원 서버가 미국에 있을 경우 느리기 때문에 한국 어딘가에 프록시 캐시 서버를 두고, 해당 서버를 거쳐서 올 수 있도록 한다.

  • 그러면 웹브라우저가 프록시 캐시 서버에 접근하게 된다.

  • 응답 시간이 훨씬 빨라진다.

  • 프록시 캐시는 public, 로컬 캐시는 private

캐시 지시어

Cache-Control: 이런식으로 사용한다.

  • private: 응답이 해당 사용자만을 위한 것이므로 로컬에만 저장되어야 한다.
  • public: 응답이 public 캐시에 저장되어도 된다.
  • s-maxage: 프록시 캐시에만 적용되는 max-age이다.

캐시 무효화

  • Cache-Control 캐시 지시어: no-cache,no-store,must-revaildate 필수
    • no-cache: 항상 원 서버에 검증하고 사용해야 한다.
    • no-store: 데이터에 민감한 정보가 있으므로 저장하면 안된다. 메모리에서 사용하고 최대한 빨리 삭제해야 한다.
    • must-revalidate:
      • 캐시 만료 후에 최초 조회 시 원 서버에 검증해야한다. 원 서버 접근 실패 시에 반듯이 504 타임아웃 오류가 발생해야 한다.
        - no cache는 프록시 캐시 서버로 가는데, 원 서버에 요청을 하고 원 서버에서 검증을 하게 된다. 304 not modified로 응답을 하게 된다. 순간적으로 네트워크 단절되어 원 서버 접근이 불가능할 경우, 프록시 캐시에서 오류보다도 오래된 데이터로 보여주도록 세팅을 하게 되면 그렇게도 가능하게 정책이 되어 있다.
        - must-revalidate: 네트워크 단절되어 원 서버 접근 불가능한 경우 항상 오류가 발생되어 504 오류가 발생해야 한다.
  • Pragma: no-cache, 과거 브라우저 HTTP 1.0 하위 호환이 가능하다.
profile
백엔드 개발자 지망 대학생

0개의 댓글