프록시 서버
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