Markdown is a very popular format.
Gopher is a cool, but a bit outdated text-based protocol.
Is a new text protocol. As cool as gopher and fixes some of existing gopher problems.
Gemini is a client-server protocol featuring request-response
transactions, broadly similar to gopher or HTTP.
| Initiator | Action |
|-----------|----------------------------------------------------------|
| C: | Opens connection |
| S: | Accepts connection |
| C/S: | Complete TLS handshake (see section 4) |
| C: | Validates server certificate (see 4.2) |
| C: | Sends request (one CRLF terminated line) (see section 2) |
| S: | Sends response header (one CRLF terminated line), closes |
| : connection under non-success conditions |
| S: | Sends response body (text or binary data) |
| S: | Closes connection |
| C: | Handles response |
NB: Spaces in gemini URIs should be encoded as %20, not +
For response status codes description see [official Gemini documentation](https://gemini.circumlunar.space/docs/specification.html)