IT/HTTP
[모든 개발자를 위한 HTTP 웹 기본 지식 - 34]
WsCode
2022. 1. 30. 19:49
캐시 무효화
캐쉬를 무효화를 하여도 웹브라우저에서 GET요청이면 캐쉬를 사용합니다.
Cache-Control 확실한 캐시 무효화 응답
• Cache-Control: no-cache, no-store, must-revalidate
• Pragma: no-cache
• HTTP 1.0 하위 호환
Cache-Control 캐시 지시어(directives) - 확실한 캐시 무효화
• Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!)
• Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제)
• Cache-Control: must-revalidate
• 캐시 만료후 최초 조회시 원 서버에 검증해야함
• 원 서버 접근 실패시 반드시 오류가 발생해야함 - 504(Gateway Timeout)
• must-revalidate는 캐시 유효 시간이라면 캐시를 사용함
• Pragma: no-cache HTTP 1.0 하위 호환
no-cache로 프록시 서버에 들어온경우 원서버에 확인요청을하기위해 원서버로 전달합니다.
원서버에서 확인요청을 할때 네트워크가 오류가 난경우 오래된 데이터라도 보여주게됩니다.
must-revalidate의 경우 네트워크 에러시 504 에러로 응답합니다.
이걸로 김영한님의 <모든 개발자를 위한 HTTP 웹 기본 지식>의 수업정리를 끝내겠습니다.