# Gopher/Gemini/WWW Comparison Table February 10, 2023 ยท 2 minute read Posted in: gemini gopher internet www This list is necessarily incomplete, partly due to the complexity of modern HTTP and HTML, but it hits the high points. If you think there is something critical missing, please contact me by email.
Feature Gopher Gemini WWW
Can transfer text-based documents Yes Yes Yes
Can transfer binary media Yes Yes Yes
Has a hypermedia document format No [1] Yes Yes
Hypermedia format can inline binary media No No [2] Yes
Protocol responses include error codes No Yes Yes
Protocol responses include content type No Yes Yes
Protocol responses include content length No No Yes
Supports connection re-use No No Yes
Requests and responses are extensible with headers No No Yes
Uses transport-layer encryption No [3] Required Optional
Uses URLs for links No [4] Yes Yes
Supports streaming No Yes [5] Yes

- [1] Gopher supports a text file format with links for defining submenus. It wasn't intended to be used as a hypermedia document format, but it is somewhat usable as one. - [2] Some Gemini clients support displaying images or audio/video files inline after their links, once the link is clicked or hovered over. - [3] Some gopher clients and some gopher servers support wrapping the protocol in TLS. There is no standard for this, however. - [4] It is possible (and conventional) to use URL formatted selectors in Gopher H-type menu items. This is not well-supported by all clients. Also, some clients will linkify URLs in text documents. - [5] Gemini responses are not complete until the connection is closed with a TLS close_notify message. Clients are allowed to start processing a response before it is closed, allowing streaming of media. Gemini does not have an equivalent of HLS (HTTP Live Streaming), however, which means streams can't be offered in multiple bitrates except with separate links, and seeking on streams is likely to be unreliable.