twocowsong

[모든 개발자를 위한 HTTP 웹 기본 지식 - 34] 본문

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 웹 기본 지식>의 수업정리를 끝내겠습니다.