You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two ways HTTP servers (incl. HTTP gateway responses for /ipns paths) may support update checks: via Etag or Last-Modified headers. We could improve HTTPSubscriber to maximize cache hits, and if Etag or Last-Modified are present in the response, store them, and use in follow-up update checks:
if Etag was present, check for update with If-None-Match
if Etag was not present, but Last-Modified was present, check for update with If-Modified-Since
(we prefer If-None-Match, because Etags are more deterministic than time-based check)
This is a bit nicer because if the content did not change since the last check, the response will be HTTP 304 Not Modified without any payload, rather than HTTP 5XX error, and will be produced by edge cache/cdn, rather than hitting the backend every time.
The text was updated successfully, but these errors were encountered:
In an append-only world, if we are requesting bytes from last-known-size and file has not changed, we will get a 0-byte payload anyways. I don't see the advantage vs. the complexity of dealing with it with more code.
I think denyli.st is the easiest thing that people should use until someone worries enough about the official badbits to fix it in some way.
I don't want to support non-append lists that require trashing the db and reparsing the whole thing on every update. It is not sustainable, nor elegant apart from being a huge pain (how does that interact with other lists for example?).
There are two ways HTTP servers (incl. HTTP gateway responses for
/ipns
paths) may support update checks: viaEtag
orLast-Modified
headers. We could improveHTTPSubscriber
to maximize cache hits, and ifEtag
orLast-Modified
are present in the response, store them, and use in follow-up update checks:Etag
was present, check for update withIf-None-Match
Etag
was not present, butLast-Modified
was present, check for update withIf-Modified-Since
This is a bit nicer because if the content did not change since the last check, the response will be HTTP 304 Not Modified without any payload, rather than HTTP 5XX error, and will be produced by edge cache/cdn, rather than hitting the backend every time.
The text was updated successfully, but these errors were encountered: