Scheme Section 2 quibble

On Tue, 17 Nov 2020 04:47:45 +0300
Ali Fardan <raiz at stellarbound.space> wrote:

> In my humble opinion, I think that "//example.tld/" is an
> implementation specific hack and has no place in the protocol, a URI
> like that is invalid and should not be respected by servers, what
> should actually work is providing authority and path like so:
> "example.tld/path/", this is discouraged by RFC 3986 (section 4.5) but
> it actually makes sense if context is defined, in this case, context is
> gemini so a scheme of gemini is implied.

With respect to RFC3986, it's not a matter of opinion.

It's very much not an implementation specific hack. It's defined in RFC
3986 as "relative-ref", a "network-path reference" specifically.
Non-URIs of the "example.com/hello" style on the other hand are an
implementation specific hack, as you've noted, discouraged by RFC 3986
and not specified in any of the syntaxes it defines. It's obviously
unsuitable for links because it's ambiguous with relative-ref.

Gemini however explicitly only allows "absolute URL" in requests. It
also says that "If the scheme of the URL is not specified, a scheme of
gemini:// is implied."

In terms of RFC 3986, this is nonsense. "gemini://" isn't the scheme.
"gemini" is the scheme, "//" is the beginning of hier-part or
relative-part, and ":" separates the scheme from hier-part.

I've previously called for clarification on this point. One might read
that last sentence as requests by suffix references are allowed,
(which is what you get when you omit "gemini://") or that some
relative-ref are allowed (which is what you get if you literally omit
the scheme and scheme separator).

I'd prefer if the spec could just refer to an expected syntax as
defined in RFC 3986. This would reduce confusion significantly. Skip
all the hacks and allow only e.g. the URI syntax (which does not
include relative-ref) for requests and URI-reference syntax (which
includes URI and relative-ref) for links. Adopt the language of RFC
3986 to describe them.

Last I checked, if you connect to gemini://gemini.circumlunar.space and
request "gemini.circumlunar.space/" you get an error. You may however
request "//gemini.circumlunar.space/" and get the appropriate 20
response. Should gemini.circumlunar.space be considered to be running a
canonical implementation of Gemini?

-- 
Philip
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20201117/6ace
088e/attachment.sig>

---

Previous in thread (7 of 31): 🗣️ Felix Queißner (felix (a) masterq32.de)

Next in thread (9 of 31): 🗣️ Philip Linde (linde.philip (a) gmail.com)

View entire thread.