Proposal to drop double slashes from URL syntax

Alex // nytpu alex at
Tue Feb 9 20:59:09 GMT 2021

> Also, to my understanding removing them does not violate the standard.
> For example, `tel:+1-816-555-1212` and `magnet:?xt=urn:sha1:...` are
> valid URIs.
The URI standard[1] says that if an "authority" is present in a URI, it
MUST be preceded by "//".  If an authority is not present, it
MUST NOT be preceded by two forward slashes.  A magnet link does not
have an authority because it is content addressed via a peer to peer
network, and an authority is only used when one central authority (for
instance the IANA for domain names) dictates the allocation and
structure of identifiers within that space.

[1]: RFC3986, in particular:  (ABNF of a URI) (Description of an

> There is some confusion regarding the terms URI and URL. The W3C tries
> to clear that up[0].
The W3C deals exclusively with http and its derivative protocols (https,
etc), so we are not held to standards they pass (although we
unfortunately have to deal with the fallout sometimes).

> It used to be that they ment different things in what they call the
> "classical view" but this difference isn't as dominant anymore in the
> "contemporary view". In my understanding, a scheme, which would be
> `gemini:`, can define upon its own what it expects after the colon.
> You can find more registered schemes here, some of which require a
> double-slash, some don't.
In conversational terms, or even in technical discussion by
implementers, yes they have different meanings than they used to.
However, when you're dealing with standards, you have to use formally
defined words and as such the "classical" meanings of URI/URL/URN are
what is generally used on /this list/ because we^Weveryone else loves to
bikeshed the spec a lot.

Also, the gemini spec specifically says:
> This scheme is syntactically compatible with the generic URI syntax
> defined in RFC 3986, ut does not support all components of the generic
> syntax. In particular, the authority component is allowed and
> required. Section 1.2

Now, this is obviously what you're talking about changing, but there's
good reasons to be compliant with the URI spec (which, as previously
mentioned, mandates "//" precedes an authority).  The most compelling
reason being that there's a URI library for every programming language
that's ever been used in the past 30 years, and a main goal of gemini is
to reuse existing specifications where it's not necessary to save people
the trouble of having to roll their own everything.  This is the same
reason that gemini uses DNS and TLS despite their respective problems.
They already exist, they're standardized, and they're well used by
everyone already.

I hope I don't seem rude here, I'm just trying to lay out the general
position clearly.


Alex // nytpu
alex at
GPG Key:
Key fingerprint: 43A5 890C EE85 EA1F 8C88 9492 ECCD C07B 337B 8F5B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the Gemini mailing list