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)