https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Cache-Control
no-cache: 캐시된 복사본을 사용자에게 보여주기 이전에, 재검증을 위한 요청을 원 서버로 보내도록 한다no-store: 민감한 정보를 보호하기 위해 서버 내에 캐시하지 않는다max-age=<초>: 지정 시간보다 오래된 응답은 보내지 않는다.max-stale[=<초>]: 시간을 지정하지 않으면 유효기간이 지난 데이터도 받을 수 있다는 것을 의미. 시간을 지정하면 유효기간이 만료된 후부터 지정된 시간까지는 데이터를 받을 수 있다.min-fresh=<초>: 현재도 유효할 뿐 아니라 지정된 시간이 경과한 이후에도 유효한 데이터를 서버로부터 받겠다는 의미only-if-cached: 유효 여부를 체크하지 않고 캐시에 있는 데이터만 받겠다는 의미public: 공유/비공유 모든 캐시를 캐시할 수 있다private: 공유된 캐시에는 캐시하지 않는다no-cache: 캐시된 복사본을 사용자에게 보여주기 이전에, 재검증을 위한 요청을 원 서버로 보내도록 한다no-transform: 프록시 같은 중간 캐시에서 데이터를 변환해서는 안 된다must-revalidate: 유효기간이 지난 데이터는 웹 서버에 꼭 재확인해야한다proxy-revalidate: 개인 캐시를 제외하고 다수가 사용하는 캐시는 데이터를 재확인 해야한다max-age=<초>: 지정된 시간만큼은 현재 보낸 컨텐츠를 사용하고 서버로 요청을 보내지 않는다이미 클라이언트 캐시에 있는 경우 해당 컨텐츠의 수정시간을 서버에 보내서 웹 서버에서 클라이언트 캐시에 있는 컨텐츠 사용여부를 판단할 수 있게 한다.
만약 서버에 있는 컨텐츠가 클라이언트가 전송한 수정 시간 이후로 수정되지 않았다면 서버는 304 응답코드를 반환해 클라이언트에게 캐시에 있는 컨텐츠를 사용하게 된다.