------------------------------------------------------------ Technology/Gopher, (sdf.org), 12/12/2018 ------------------------------------------------------------ Ok gopher folks, I want to pick your brains. I'd like to know how "pick your brains" translates in your native languages, but that's not the point of this post. The point is to attempt as full a sketch as possible of the actual differences and similarities between the HTTP and GOPHER protocols. A discussion on another system is prompting this investigation. I won't quote directly, because the other party didn't give me permission to do so, but I'll paraphrase what they said: 1) that gopher is out-dated and should be allowed to die; and, 2) that HTTP can do everything that Gopher can do, and do it better. That's at least my memory of my interpretation of what they said, actual facts and events are not available presently. I told them that I'd ask gopher, an obviously biased audience. They didn't say not to (of course, they were leaving on a trip and haven't had time to respond... but I'm sure they won't mind.) So, here I am. I'll start by providing what I believe are accurate bits of technical information, both in how the two protocols resemble one another, and how they differ. I am assuming that you folks will help augment this and correct any errors: From what I gather, these are the similaries: 1. Both gopher and http start with a TCP connection on an IANA registerd port number. 2. Both servers wait for text (the request) terminating in a CRLF 3. Both servers expect the request (if there is one) to be formatted in a particular way. 4. Both servers return plain text in response, and close the TCP connection. And these are the differences that I understand: 1. Gopher will accept and respond to a blank request, with a default set of information, http will not. 2. Gophper sends a single "." on a line by itself to tell the client it is done, http does nothing similar prior to closing the connection. 3. Http has things like frames, multiplexing, compression, and security; gopher does not. 4. Http has rich, well-developed semantics, gopher has basic, minimalist semantics 5. Http requests are more resource intensive than gopher requests. 6. Http is highly commercialized, gopher is barely commercialized. 7. Http is heavily used and highly targeted by malicious users, gopher is neither. 8. Http is largely public, gopher is largely private (de facto privacy through obscurity.) 9. Http is used by everyone, their children, their pets, their appliances, their phones, and their wristwatches; gopher is used primarily by technical folk and other patient people. 10.Http all but guarantees a loss of privacy; gopher doesn't Yeah, I know, it's not much, but that's all that is coming to mind presently. What are your thoughts? One last thing: what do you think a "Constrained HTTP/HTML" experience would look like? Here's what I'm thinking, loosely: - A severely limited subset of HTML: ,
, 
, and . - No client-side scripting, period. - ... and my time just ran out. I'm throwing this out there. Let me know what your thoughts are!