[gopher] gopher++ (gopher1) protocol
Kim Holviala
kim at holviala.com
Mon Jan 11 18:52:10 UTC 2010
On 2010-01-11 19:35, Cameron Kaiser wrote:
> In fairness to Kim, we did talk a little more favourably about having the
> server handle transcoding a few months ago.
Don't worry, I have a thick skin :-). Like I said, I'm just trying to
find something to do other than mindlessly browsing websites.
> I don't mind server transcoding, btw, but my problems with Kim's ideas
> are:
>
> - Performance issues for the server figuring out if it has a gopher0 or
> gopher1 response. This is the big kicker for me, though I appreciate the
> attempt at backwards compatibility.
You mean the select(2) on stdin to figure out if more data is coming?
That's not really a performance issue.... Yeah, the server has to have a
small delay, but that can be really small (max tenth of a second), and
the delay is only for gopher0 clients.
> - The server needs to be able to tell the client it *refused* to transcode,
> or couldn't.
That's certainly something I left out, mostly because of backwards
compatibility. Since all the client is getting back is the file with no
metadata (gopher0) there's not much I can do... Like I said, I was
aiming for 100% gopher0 compatibility.
> Conversely,
> - The server needs to be able to tell the client there is nothing to
> transcode (or simply a file not found), even if it is willing to.
gopher0 doesn't really allow sending metadata to the client... And I
wanted everything to fall back to gopher0 cleanly.
> I support putting much of the work on the server, because I think Gopher's
> biggest benefit is a VIC-20 could be made to be a gopher client.
That was my idea with the extensions. Although I was not really thinking
about the mighty VICs but mostly mobile stuff. I was trying to browse
the web a week ago on a mobile GPRS connection on a moving train, and
let me tell you that it wasn't fun. Gopher on the other hand worked nicely.
> That said, the three issues I have above would need to be resolved to my
> satisfaction before I'd support such a scheme in, say, Overbite or GopherVR.
Oh, my intention was never to "get support" from others :-). I was going
to code a server and a client(s) all by myself just to see if the spec
would work or not.
- Kim
More information about the Gopher-Project
mailing list