A mutual on Fosstodon asked the following question:
What’s the technical difference between the Web, the Internet, and HTTPS? Is Gemini an alternative to HTTPS, or to the World Wide Web?
Thought I’d just share my reply here for posterity, and also as a summary if anyone else is interested:
The Internet is the global network of everything that’s interconnected; and includes every single publicly available endpoint. These endpoints are accessed by address spaces (IPv4, IPv6) and human-readable resource locations via the Domain Name System (DNS).
The Web is simply the protocols of the Internet that are accessed via a Web Browser; which really means HTTP more or less, and more specifically where a MIME type is specified so the browser knows how to parse it (e.g.
HTTPS is simply encryption that is used to secure HTTP traffic (the S stands for Secure) via the use of SSL certificates, and runs on
port 443, while unencrypted HTTP runs on
It’s worth noting that HTTP itself has unparalleled performance for the Web due to the protocol itself (and web servers that deliver it) being optimized over the years to support compression, transfer encoding, encapsulation, etc.
Gemini also transmits a mimetype that’s text-based (
text/gemini) but it runs on
port 1965 — as opposed to the usual
80/HTTP that Web browsers usually connect to by default. Gemini therefore needs customized “browsers” that will read the protocol and parse the data that’s received from a Gemini server, however there are Web Proxies that do this as well, such as https://proxy.vulpes.one/.
In that sense, it’s an alternative to the Web inasmuch as it’s an alternative to HTTP; but (importantly) without any maturity, performance, or scalability whatsoever.
It’s also one of the few initiatives where a simpler declarative syntax (the
.gmi files themselves) requires a more complex operational logic (the Gemini server itself). The closest analogy I can think of is using the DNS protocol for datagram transmission .
Gemini won’t become mainstream (outside of Web proxies) if that imbalance isn’t corrected since it’s not a niche problem but an operational one when deployment and scale become issues. Using HTML sans CSS/JS will give you a similar yet better experience (that is built for the web in my opinion).
Now to be fair, Gemini doesn’t claim to replace HTTP in any way. It’s a niche, small-web technology. But I don’t see the immediate merits since it uses a strict subset of the HTTP spec which makes it feature-delimited by design.