Why the Gemini protocol appeared and how is it arranged
Photo – ZU photography – Unsplash
What is this protocol
Gemini is a speed-oriented client / server file transfer protocol. In a sense, it is a replacement for the WWW. Its author is an engineer hiding under the nickname Solderpunk… But the IT community was actively involved in the development of the protocol – for example, its contribution introduced the creator of the open wiki engine Oddmuse Alex Schroeder.
How does it work
Gemini implementation resembles Gopher… This is a protocol that was popular in the early 1990s and served as a replacement for FTP. Based on it was built information distribution system from a group of hyperlinked menus – with directories, files and links to other pages. The pages themselves were without design and scripts.
The situation is similar in Gemini – the protocol response contains only text or binary data. It does not support compression, splitting messages and network coding techniques. The server terminates the connection immediately after the last byte has been transmitted and does not send the message end of response… Gemini requires all transactions to be made using TLS 1.2 or higher.
Protocol works over TCP / IP with port 1965 and has the same resource identifier (URI). Its syntax is written in RFC 3986… The URL is UTF-8 encoded and has a maximum length of 1024 bytes.
What do they think of the protocol
In a thread on Hacker News expressed their opinionthat the new protocol could become an alternative to WWW – at least for hosting personal sites and blogs. An important role in this can be played by an understandable specification, in which relatively easy to understand…
Photo – Sourabh gijare – Unsplash
There was also an alternative opinion. Gemini is a reimagining of the Gopher protocol that is about 30 years old. Back to the origins of the internet for some looks like as a step back technologically. While many of Gopher’s problems for Gemini developers managed to resolve – for example, they added redirects if the content on the link was moved, and support MIME-types.
Who implements in practice
Gemini uses several sites – for example, Gemini_Wiki with a description of the capabilities of the protocol, developed by the already mentioned Alex Schroeder. Although the site can be displayed using familiar HTTP and HTML.
There is also a dedicated Castor browser written in Rust. It supports Gemini and Gopher protocols – his posted on the SourceHut collaborative development platform. By the way, one of the last browsers to support Gopher was Firefox, but this feature removed in 2010… Now some enthusiasts are gradually returning the lost functionality.
Short Friday video: