According to docs about Chrome HTTP caching behavior: https://www.chromium.org/developers/design-documents/network-stack/http-cache/
The cache implements a single writer - multiple reader lock so that only one network request for the same resource is in flight at any given time.
So it seems that other requests for the same file will be handled serially by Chrome, which is very bad.
I think ideally we want
fetch(url, {
headers: { Range: "bytes=..." },
cache: "no-store",
});
which chatgpt says
- Bypasses browser cache
- Avoids lock
- Keeps server/CDN caching intact
But to do that we need access to more fetch properties than just headers, which is what https://github.com/blacha/chunkd/blob/9b7e1480d2435d06b87a0f716e3d35ab94111f80/packages/source-http/src/index.ts#L35-L38 currently exposes.
blacha/cogeotiff#1446 should hopefully make it easier to build source interfaces
According to docs about Chrome HTTP caching behavior: https://www.chromium.org/developers/design-documents/network-stack/http-cache/
So it seems that other requests for the same file will be handled serially by Chrome, which is very bad.
I think ideally we want
which chatgpt says
But to do that we need access to more
fetchproperties than justheaders, which is what https://github.com/blacha/chunkd/blob/9b7e1480d2435d06b87a0f716e3d35ab94111f80/packages/source-http/src/index.ts#L35-L38 currently exposes.blacha/cogeotiff#1446 should hopefully make it easier to build source interfaces