gopher

rjbs on 2005-03-20T23:47:42

Something got me thinking about the gopher protocol last week, and I thought it would be fun to implement something like Net::Gopher::Server. It's given me an excuse to read Network Programming with Perl, which has (so far) been quite good. I've been reading the gopher RFC and a lot of old USENET threads about Gopher+ and other extensions, too.

Since about 1996, my home page has said: "I didn't believe for a minute [in the early days of HTTP] that HTTP would replace ... Gopher."

I am now ready to admit that this was an incredibly stupid thing to believe -- not because the web was inevitable, but because gopher sucks and HTTP is much, much better. I advise anyone who wants to see a bad idea to look at RFC 1436, specifically section 3.8

Gopher is supposed to be extensible because you can add new one-character codes for new types. Types are things like "a uuencoded file" or "a CSO phone-book server" or "a tn3270 session." So, imagine that every URI schema and MIME type required its own code, and that there are only 124 available codes.

Awesome.