On Mon, 16 Nov 2020 23:39:19 +0000 acdw <acdw at acdw.net> wrote: > > 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. This is wrong, even by web standards, when referencing to a different host, one must explicitly write a valid URL, you DON'T see: > <a href="example.tld/index.html"></a> > 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 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. Also, this is the default behavior for web browsers implying scheme of http(s), which I think is acceptable and convenient behavior, so I agree with you on that, assuming that's what you meant. > (b) remove the scheme bit altogether. I personally prefer this > because it's maximally precise. The scheme bit in requests allows for proxies to work, for example, when I host a proxy instance at "gemini://raiz.proxy/" someone sends a request of "https://example.tld/", my proxy can fetch the page and send it back to the client through gemini, I think that's why it's there. Perhaps there are many many other use cases for this that I haven't thought of.
---
Previous in thread (2 of 31): 🗣️ colecmac (a) protonmail.com (colecmac (a) protonmail.com)
Next in thread (4 of 31): 🗣️ Sean Conner (sean (a) conman.org)