13.1.1 Cache Correctness
올바른 캐시는 다음 조건 중 하나를 충족하는 요청(섹션 13.2.5, 13.2.6 및 13.12 참조)에 적합한 캐시가 보유한 가장 최신 응답으로 요청에 응답해야 합니다.
least restrictive freshness requirement
를 만족해야 한다(seesection 14.9);
if the origin server so specifies, it is the freshness requirement of the origin server alone.저장된 응답이 클라이언트와 원본 서버 모두의 가장 제한적인 신선도 요구 사항
에 의해 "fresh enougn"
하지 않은 경우 캐시는 여전히 적절한 경고 헤더와 함께 응답을 반환할 수 있습니다(섹션 13.1.5 및 14.46 참조). 이러한 응답이 금지되지 않는다면 (예: "no-store" 캐시 지시문 또는 "no-cache" 캐시 요청 지시문에 의해, 섹션 14.9 참조).
3. It is an appropriate 304 (Not Modified)
, 305 (Proxy Redirect)
, or error (4xx or 5xx)
response message.
13.1.2 Warnings
캐시가 first-hand
도 아니고 "fresh enougn"
도 아닐 경우, 응답을 반환할 때마다(섹션 13.1.1의 조건 2에서) Warning general header를 사용하여 해당 효과에 경고를 첨부해야 합니다.
Warning header
와 the currently defined warnings
는 섹션 14.46에 설명되어 있다. 이 경고를 통해 클라이언트는 적절한 조치를 취할 수 있습니다.
warning
은 cache-related와 그렇지 않은 다른 것
애도 사용될 수 있습니다. 오류 상태 코드(error status code)
가 아닌 warning
를 사용하면 이러한 응답을 실제 실패와 구분할 수 있습니다.
warning code 형식
첫번째 자리: (revalidation
이 성공한 이후)저장된 cache로부터 warning
이 삭제되어야 하는지
1xx
: 응답의 freshness
또는 revalidation status
나타내는 코드로 반드시 삭제되어야
한다.
캐시된 항목의 유효성을 검사할 때만 캐시에 의해 생성되며, 클라이언트에서는 생성하면 안 된다.
2xx
: 재검증에 의해 수정되지 않고(예: entity bodies의 손실 압축) 성공적인 재검증 후에 삭제되어서는 안 되는 entity body 또는 entity header의 일부 측면을 설명하는 경고입니다.
코드 정의 참고 (섹션 14.46)