{"question":"How does a cache calculate the freshness lifetime of a stored response?","state":"partial","http_status":200,"index_version":"0fc1763d6701","answer":"If the cache is shared and the s-maxage response directive is present, the cache uses the s-maxage value as the freshness lifetime. [rfc9111#4.2.1] If the max-age response directive is present, the cache uses the max-age value as the freshness lifetime. [rfc9111#4.2.1] If the Expires response header field is present, the cache uses the Expires value minus the Date response header field value as the freshness lifetime, using the time the message was received if Date is not present. [rfc9111#4.2.1] If no explicit expiration time is present in the response, a heuristic freshness lifetime might be applicable. [rfc9111#4.2.1] When more than one value is present for a given freshness directive, the cache should either use the first occurrence or consider the response stale. [rfc9111#4.2.1] If freshness directives conflict, the cache should honor the most restrictive directive. [rfc9111#4.2.1] Caches are encouraged to consider responses with invalid freshness information to be stale. [rfc9111#4.2.1]","message":"1 of 8 drafted claims were not supported by the passages they cited and have been withdrawn.","citations":["rfc9111#4.2.1"],"supported":[{"text":"If the cache is shared and the s-maxage response directive is present, the cache uses the s-maxage value as the freshness lifetime.","citation":"rfc9111#4.2.1","coverage":1.0},{"text":"If the max-age response directive is present, the cache uses the max-age value as the freshness lifetime.","citation":"rfc9111#4.2.1","coverage":1.0},{"text":"If the Expires response header field is present, the cache uses the Expires value minus the Date response header field value as the freshness lifetime, using the time the message was received if Date is not present.","citation":"rfc9111#4.2.1","coverage":1.0},{"text":"If no explicit expiration time is present in the response, a heuristic freshness lifetime might be applicable.","citation":"rfc9111#4.2.1","coverage":1.0},{"text":"When more than one value is present for a given freshness directive, the cache should either use the first occurrence or consider the response stale.","citation":"rfc9111#4.2.1","coverage":1.0},{"text":"If freshness directives conflict, the cache should honor the most restrictive directive.","citation":"rfc9111#4.2.1","coverage":0.875},{"text":"Caches are encouraged to consider responses with invalid freshness information to be stale.","citation":"rfc9111#4.2.1","coverage":1.0}],"withdrawn":[{"text":"A cache calculates a response's freshness lifetime by evaluating the freshness-lifetime rules in order and using the first rule that matches.","citation":"rfc9111#4.2.1","rule":"literal not in passage","detail":"rfc9111#4.2.1 does not contain freshness-lifetime","coverage":0.6923}],"consulted":[{"section_id":"rfc9111#4.2.1","citation":"RFC 9111 Section 4.2.1: Calculating Freshness Lifetime","rank":1,"score":0.7818},{"section_id":"rfc9111#4.2","citation":"RFC 9111 Section 4.2: Freshness","rank":2,"score":0.7114},{"section_id":"rfc9111#4.2.2","citation":"RFC 9111 Section 4.2.2: Calculating Heuristic Freshness","rank":4,"score":0.6621},{"section_id":"rfc9111#1","citation":"RFC 9111 Section 1: Introduction","rank":5,"score":0.6486},{"section_id":"rfc9111#4","citation":"RFC 9111 Section 4: Constructing Responses from Caches","rank":6,"score":0.6327},{"section_id":"rfc9111#3","citation":"RFC 9111 Section 3: Storing Responses in Caches","rank":7,"score":0.6213},{"section_id":"rfc9111#4.3.4","citation":"RFC 9111 Section 4.3.4: Freshening Stored Responses upon Validation","rank":9,"score":0.6069},{"section_id":"rfc9111#4.3.5","citation":"RFC 9111 Section 4.3.5: Freshening Responses with HEAD","rank":10,"score":0.6049}],"budget":{"deadline_ms":150.0,"elapsed_ms":4.942,"exceeded":false,"stages":{"retrieval":3.33,"drafting":0.009,"grounding":1.571}}}