Proxy Cache 프록시 캐시

moontag·2022년 7월 13일
0

네트워크

목록 보기
12/18

프록시 서버

Proxy : 클라이언트 - 서버 간 대리로 통신 수행하는 것
Proxy Server : 클라이언트가 다른 네트워크 서비스에 간접적 접속하게 하는 컴퓨터 시스템이나 응용 프로그램을 의미. 그 중계 기능하는 서버

장점

  • 보안, 캐싱을 통한 성능
  • 트래픽 분산


Cache-Control

1. 프록시 캐시 관련 헤더

  • Cache-Control: public
    응답이 public 캐시에 저장돼도 됨
  • Cache-Control: private
    음답이 해당 사용자만을 위함. private 캐시에 저장해햐함(기본값)
  • Cache-Control: s-maxage
    프록시 캐시에만 적용되는 max-age
  • Age: 60(HTTP 헤더)
    오리진 서버에서 응답 후 프록시 캐시 내에 머문 시간(초)


2. 캐시 무효화 헤더

브라우저가 임의로 캐싱할 때, 민감한 정보있으면 이를 무효화해야 한다

  • Cache-Control: no-cache

    • 데이터는 캐시해도 되지만 항상 원 origin 서버에 검증 후 사용 (이름에 주의)
    • 프록시 캐시서버 - 원 서버 간 네트워크 연결 끊겼다면,
      오류가 아닌 오래된 데이터라도 보여준다는 개념의 200 OK 응답전송
  • Cache-Control: no-store
    데이터에 민감한 정보 있으므로 저장하면 안됨
    메모리에서 사용 후 빨리 삭제하기

  • Cache-Control: must-revalidate

    • 캐시 만료 후 최초 조회 시 원 서버 검증해야함
    • 원 서버 접근 실패 시,
      반드시 오류발생해야함 - 504 Gateway Timeout 오류 전송
      ex) 통장잔고 등 중요정보는 오류뜨게 해야함
    • must-revalidate는 캐시 유효 시간이라면 캐시를 사용함
  • Pragma: no-cache
    HTTP 1.0 하위 호환


확실한 캐시 무효화 응답 원하면 모든 캐시 지시어 삽입하기

  • Cache-Control: no-cache, no-store, must-revalidate
  • Pragma: no-cache
profile
터벅터벅 나의 개발 일상

0개의 댓글