Given:
index.html
main.js
data.json
The initial requests for these files all return the same Last-Modified header value, but no Cache-Control header.
A subsequent request is made...
The request to index.html returns a 304 Not Modified. This is expected as the If-Modified-Since header is sent on the request. Nothing strange here.
However, no request is sent to the server for main.js or any of the resources it fetches (data.json), they are all served from the local cache.
By inference, it would appear that the browser assumes that if the index.html is not modified, then neither is main.js and neither is any of the resources that main.js fetches. Seems odd to me.
Is this behaviour documented anywhere? Am I missing some headers (there weren't any other cache related ones in the responses that I could see.) I am expecting a request to be made to the server for each of the resources (and potentially a 304 back if they haven't changed)
Chrome v132