Caching and status codes

On Sat, 7 Nov 2020 13:42:57 -0500
John Cowan <cowan at ccil.org> wrote:
> If clients aren't free to cache, then I'm not free to save a .gmi
> file on my file system.  That's all a client-side cache is.

You're free to save your served documents, just don't operate under the
assumption that they're permanent, that's how caching can break current
assumptions.

> The advantages of not serving connections one by one is that it
> provides better service to clients on a heavily-used server.  Right
> now there are no heavily-used servers, but there's nothing in the
> Gemini ethos that says "documents should only be of interest to a
> few".  That's sheer elitism.

I'm not telling you how to implement your server, I just don't like
raising the barrier to entry for server implementations, right now, I
can use inetd to serve Gemini, if keeping a connection alive is a
requirement in the future that wouldn't be the case.

> Client caching has nothing to do with the protocol.  The idea of 22
> is that authors (not servers) may want to advise clients against
> caching in a particular case.

How would gemtext author instruct the server not to cache their gemtext
document? do we now resort to writing response headers in gemtext? is
that the solution?

Or suppose you allowed an undefined implementation detail to the server
for allowing the distinction of static versus dynamic content, and
every server goes their way of implementing it whether it be through
configuration files or some other means, now 20 becomes obsolete
because existing implementations of servers can't be sure that clients
will not cache their dynamic content, brilliant.

> If you are browsing with netcat, caching is not even an issue.  If
> nobody wanted to serve dynamic content, 22 wouldn't be useful.  It is
> handy for those who do want to, to communicate their intent.  No
> client and no server has to implement this.

If 22 is explicit no caching response, how would 20 be redefined?

Whenever something becomes optional, but de-facto implementations cover
it, and the whole ecosystem operates under the assumption of its
presence, the feature shifts from being optional to being a barrier to
entry.

---

Previous in thread (22 of 55): 🗣️ John Cowan (cowan (a) ccil.org)

Next in thread (24 of 55): 🗣️ Ali Fardan (raiz (a) stellarbound.space)

View entire thread.