Cache revalidation in browser reload

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
jobbautista9
Keeps coming back
Keeps coming back
Posts: 870
Joined: 2020-11-03, 06:47
Location: Philippines
Contact:

Cache revalidation in browser reload

Unread post by jobbautista9 » 2024-08-10, 03:18

I noticed while observing the devtools network tab that reloading in Pale Moon behaves differently than the mainstream browsers (like Firefox). It seems like we will always revalidate our cache in plain HTTP, while in HTTPS we don't revalidate only if its a subresource and it has Cache-Control: immutable. This used to be the case in Firefox too since 49 when they added support for immutable (honoring it in HTTPS only) in bug #1267474, while Chrome ignored immutable and just only revalidates the parent resource (this is both in HTTP and HTTPS). Mozilla eventually followed Chrome's behavior in Firefox 95 (bug #1468476). While they still claim to honor immutable, this change practically made immutable obsolete for Firefox it seems.

I wonder if we should follow suit in a major release after 33.3.0. Cache strategies in the web have become different, with websites now trying to make all subresources immutable and only the parent resource needing revalidation with cache-busting (e.g. using versions or the file's hash or a UUID in filenames), so perhaps this new reload behavior would make more sense. This would eliminate a lot of revalidation we do for those who still haven't applied the immutable strategy yet and servers will only have to 304 the parent resource, which means less latency for the user.
Image

:akko_derp:

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

Post Reply