So the internet is kind of a big deal. But how do email clients, web browsers, and chat programs actually work?
In this chapter we will explore the fundamental protocols that power the internet through examples of how to interact with them in “raw” format.
An internet protocol is basically a chat room where every participant speaks a particular shorthand according to a predefined set of rules to make things efficient.
In 1969 a program called “telnet” was developed by the Internet Engineering Task Force as a kind of universal program to communicate with the various internet protocols.
Back in those days you would “dial in” to connect to a particular computer, such as that of a university. You could then, if you were familiar with the needed protocols, type special messages to the server in telnet, and the server would give you responses, or take actions on our behalf.
These early protocols were not particularly efficient as they were designed for -humans- to type commands by hand, so they needed to be somewhat memorable.
At this time the internet was nothing but a bunch of text based terminals linked together at a distance. Some of these computers would relay email, some would act as document libraries, and some would provide message boards, chat rooms, or online games.
Since the authors of these early protocols spoke english, the protocol itself was made up almost entirely of various shorthands for english words, much like most programming languages.
With the rise of graphical user interfaces, the terminals all got hidden away and programs were written so that button presses could cause a program to send remote computers these various english-ish words for us.
The internet we know today, as a result is mostly just pointing, clicking, dragging and dropping… that is interpreted into english-ish language, which is then sent to remote computers that translate that english-ish language into various machine code needed to get information or perform actions for us. The computer then translates responses back from machine code back to english-ish language designed for humans, which our computers interpret back into visual graphical user interfaces we can once again drag, drop, point, and click.
It all really is as crude and ridiculous as it sounds. We engineers really do have no idea what we are doing and mostly just make it all up as we go, only to realize years later everything we did was wrong. It is really pretty incredible the internet works at all.
The rest of this chapter will focus on getting back to the 70s and interacting with todays real internet services using only very basic english-ish human/text interfaces like telnet that these protocols were -actually- designed for.
In doing so we will peek under the hood of the internet.