Scheme Section 2 quibble

acdw acdw at acdw.net
Mon Nov 16 23:39:19 GMT 2020


Hi gemilist (listini?),

I've got a minor quibble with the spec, section 2, paragraph ... 3(?), which I'll quote here.

> <URL> is a UTF-8 encoded absolute URL, of maximum length 1024 bytes. If the scheme of the URL is not specified, a scheme of gemini:// is implied.

Specifically, the "scheme of gemini:// is implied" clause is confusing.  According to the URL spec (https://tools.ietf.org/html/rfc3986), 

> The authority component is preceded by a double slash ("//") and is terminated by the next slash ("/"), question mark ("?"), or number sign ("#") character, or by the end of the URI.

Meaning that the scheme does not, in fact, include a "//" at the end, but rather that "//" is a separator between the scheme and the authority.  In fact, to actually encode a scheme-agnostic URL in a link, an author needs to write "//example.com/path".  For an example, see the links in flounder.online.

I bring this issue up because there have been instances of geminauts linking like this:

=> example.com/path An example link

Which resolves, not to gemini://example.com/path, but to ./example.com/path on the current server.

To resolve this confusion, I propose is to either

(a) strip the "//" (and probably ":", though I found no particular reference to it in the spec) from the "scheme of gemini:// is implied" portion of the above paragraph, or

(b) remove the scheme bit altogether.  I personally prefer this because it's maximally precise.

I'd love to hear your thoughts on the matter.

-- 
~ acdw
acdw.net | breadpunk.club/~breadw 


More information about the Gemini mailing list