Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7565d27f767470962d70ffa30b5a22e01c55df6a
      
https://github.com/WebKit/WebKit/commit/7565d27f767470962d70ffa30b5a22e01c55df6a
  Author: Charlie Wolfe <[email protected]>
  Date:   2026-06-18 (Thu, 18 Jun 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt
    M 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt
    M Source/WebCore/platform/network/CacheValidation.cpp
    M Source/WebCore/platform/network/CacheValidation.h
    M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp

  Log Message:
  -----------
  Honor Cache-Control request max-age, min-fresh and no-store
https://bugs.webkit.org/show_bug.cgi?id=317251
rdar://179865576

Reviewed by Chris Dumez.

Apply request Cache-Control directives when deciding whether NetworkCache can 
reuse a stored
response.

RFC 9111 defines request max-age as preferring a response whose age is no 
greater than the supplied
delta, and min-fresh as preferring a response that remains fresh for at least 
the supplied delta:
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.1
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.3

Parse min-fresh and require validation when the stored response is too old for 
request max-age or
not fresh enough for request min-fresh. Also require validation for request 
no-store for web
compatibility, aligning with Fetch’s no-store cache mode:
https://www.rfc-editor.org/rfc/rfc9111.html#section-5.2.1.5
https://fetch.spec.whatwg.org/#request-cache-mode

* 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.serviceworker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.sharedworker-expected.txt:
* 
LayoutTests/platform/glib/imported/w3c/web-platform-tests/fetch/http-cache/cc-request.any.worker-expected.txt:
* Source/WebCore/platform/network/CacheValidation.cpp:
(WebCore::parseCacheControlDirectives):
* Source/WebCore/platform/network/CacheValidation.h:
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::responseNeedsRevalidation):

Canonical link: https://commits.webkit.org/315447@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to