Dioscuri, another application layer protocol
John Cowan
cowan at ccil.org
Mon Sep 28 13:52:11 BST 2020
On Sun, Sep 27, 2020 at 9:59 PM Meff <meff at meff.me> wrote:
> Does Dioscuri have the same line-length limits as Gemini?
>
Yes. That means that you can't have quite as long an URL as in Gemini.
However, I suspect few people will do Gopher/Gemini-style searches through
Dioscuri.
Do you mean "70" here instead of "60"?
>
I picked 70 more or less at random, then went back and saw that 5x is the
highest Gemini status code, so I'll go with 60. I didn't quite consummate
the change.
> Are there any limits on payload length from the client?
No, any more than there are limits on payload length from the server in
Gemini (or Dioscuri).
> Are there any
> plans for the client to indicate to the server the length of the
> payload?
That's the point of the one-sided close. If we had to batch requests on
the same TCP connection, Content-Length would be indispensable, but as
things stand, closing the write side of the socket conveys that information.
> What happens if the server encounters a fault while reading in
> the entire client payload?
>
That's pretty vague: what kind of a fault? The safe answer for the server
is "Close the connection", at which point the client will figure out (after
TCP timeout) that the request didn't work and apply its general policy
(abort, retry, or ignore) for such events.
> Is there any guidance on timeouts? Should implementors assume that
> timeouts are quick and the server should hangup quickly if nothing is
> found on the client's send stream, or is this application dependent so
> that it's up to the server/endpoint to determine timeouts (e.g. for a
> streaming application)?
The latter, I think. The Gemini protocol definition mentions timeouts only
in connection with CGI.
> My worry is that opening connections to the
> server and keeping the server send connection open can quickly exhaust
> the number of sockets/fds the server has available.
>
With the Internet the way it is, servers must be written to defend
themselves against both intentional and unintentional attacks in any case.
But the difference between use and abuse depends on the use. Sockets can
equally be overwhelmed by a Gemini attack. DDOS protection helps here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20200928/1af67ced/attachment.htm>
More information about the Gemini
mailing list