Gopher - exploring the web before the web

Gopher - exploring the web before the web

By lingy | Lingy | 14 Feb 2022


Today we are going to take a trip back in time, and see a little about a technology from the 90s, which was used to build environments similar to today's web pages: Gopher.

Gopher is a protocol that serves to make the equivalent of today's websites (a gopherspace, if you want the correct name) in the MS-DOS era, where what we now know as the internet was something restricted to the imagination of enthusiasts. It's interesting to see that such an old technology still has an active community of supporters and enthusiasts.

The historical context

Gopher is a protocol created at the University of Minnesota in 1991 to share data over the internet, similar to what we have today with HTTP. At that time the internet didn't exist as we have today, and the closest to a browser we have today that existed were programs to read files formatted in certain types of connections. To give you an idea, Netscape, which was the browser on which Firefox was based, only appeared in 1993.

As Windows 95 was only released in 1995, the vast majority of internet access was done through terminal interfaces and programs similar to cURL. That way, even if an operating system had a graphical interface, it didn't make sense to show animations and use modern syntax, which is why even primitive HTML of the time still struggled against Gopher, as it was simple and fast to write and could read easily in any terminal that could access it, and even if you only read the plain text of the file, it was still simpler to understand than a file in HTML or another format.

Currently Gopher is not as popular as it used to be, but there are still many enthusiasts, and many popular and interesting Gopher domains.

How it works?

Gopher pages use a menu- and link-based structure, without much formatting, ideal for reading in a terminal. Currently, most popular browsers such as Google Chrome and Firefox do not natively support Gopher domains, but other browsers such as Lynx (which works right in the terminal) still offer:

Appearance of a Gopher page

It is also possible to open Gopher pages in the aforementioned browsers using an extension:

Gopher page in browser

As you can see, it's just a bunch of plain text with some links, no big deal, a really simple structure for today's standards, but enough for the standards of the time.

The advantages

Because it is extremely simple and practical, you can create and store a simple website, like a tutorial or something, that can be stored on a computer with few resources and accessed by computers with even less resources. In addition, it is adapted to be read by the terminal, so even computers without a graphical interface have a complete reading experience, having access to 100% of the page's content.

The disadvantages

First, it's not practical. As most browsers nowadays don't even natively support gopherspaces, it's not very practical to access these gopherspaces, and search engines don't even index these pages anymore.

Gopherspaces also don't have many features like JavaScript or others. Because of this, dynamic pages are not viable, let alone Ajax.

The connection to Gopher is also not encrypted, like using HTTPS. This means that the data you exchange with a gopherspace can be intercepted by anyone standing in the way, and even altered by a would-be hacker. So maybe it's not ideal for taking care of sensitive data.

How to access?

To access a gopherspace (a gopher site), you need either a browser that is capable of opening gopherspaces natively, a plugin that allows opening gopherspaces, or a site that allows opening gopherspaces.

we will use the same gopher address in all three cases: gopher://floodgap.com.

Using Lynx

To access through the terminal, we can use the Lynx browser. For that, let's first download Lynx:

$ sudo apt install lynx

Now, with Lynx installed, let's open the website in the terminal:

$ lynx gopher://floodgap.com

And that's it, you'll see the page like this:

Open page

Using a website as a proxy to adapt content

You can use Floodgap to open Gopher websites within the browser. As the website we want to access is already owned by the company, we just need to access the proxy:

Accessing proxy

And did you notice that search bar at the top? If you want to access other Gopher sites, just put the address you are interested in in the field. Let's use the address of Alexander Arkhipov's gopherspace, which has lots of programming exercises and stuff like that:

Accessing the domain

Pretty easy, isn't it?

There is a Google-like search engine inside Gopher called Veronica, which you can access here.

Extensions

Chrome has an extension that allows you to have quick access to the previous site just by clicking on it:

Extension

Of course, in practice, it doesn't have much use, since you can access the same site through the browser normally, but for those who use it daily, it can be good.

The extension is called Burrow, and you can find it here.

So, did you already know the Gopher and the gopherspaces? Tell me in the comments.

How do you rate this article?

3



Lingy
Lingy

My personal blog about technology

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.