[SPEC-CHANGE] Mandatory scheme in request and link URLs

Solderpunk solderpunk at posteo.net
Sun Nov 29 18:38:21 GMT 2020
Greetings Geminauts!

As per recent mailing list discovery, I've made a very small change to
the specification.  Previously, Gemini requests and links in text/gemini
documents could both omit the scheme, and servers/clients were expected
to add an implicit scheme of "gemini".  This has been changed and now
schemes are mandatory in URLs in both these contexts.

This is a trivial simplification of the spec, reflecting observations
from multiple people that schemeless URLs are both very rarely used and
very rarely understood (a leading "//" is required to disambiguate
schemeless URLs from relative URLs, but nobody knows that because
informal use of notation like gemini:// and https:// has caused us all
to mistakenly believe the "//" is associated with the scheme when it is
actually part of the authority).  The implicit scheme idea dates back to
very early stages of Gemini when I was unduly concerned with minimising
protocol overhead relative to Gopher.  As soon as mandatory TLS was
added, saving the 7 bytes of "gemini:" became of no practical concern
and getting rid of this idea just eliminates a confusing edge case.

On a related note, the spec was also changed in various places so that
it does not perpetuate the misunderstanding of URL structure by talking
about "a scheme of gemini://".

Server authors MAY update their servers to return status 59 ("bad
request") upon receipt of a request with no scheme in the URL, but this
should not be considered an urgent change, as leaving existing behaviour
of assuming a scheme of gemini in place could be considered a valid
application of Postel's law.

Client authors MUST update their clients so that if a user manually
enters a URL without a scheme, a scheme of gemini is included in the
request (many clients likely do this anyway).  Clients MAY treat
schemeless links in text/gemini documents as errors, but again assuming
a scheme of gemini may be considered a valid application of Postel's
law.

Authors of Gemini content or software which generates Gemini content
MUST add explicit schemes to any schemeless links.

Cheers,
Solderpunk



Archive home | About this archive