[SPEC-CHANGE] Mandatory scheme in request and link URLs

Sean Conner sean at conman.org
Mon Nov 30 10:07:23 GMT 2020


It was thus said that the Great Björn Wärmedal once stated:
> On the topic of explicit scheme in gemtext links I have one opinion
> and one question.
> 
> Opinion: when cross-hosting between the web and geminispace I think
> the publisher can reasonably be expected to run a search-replace. If I
> host on both https://tilde.team/~ew0k/ and gemini://tilde.team/~ew0k/
> I can easily make sure to replace that particular line in links. I see
> that there may be an issue if I link to someone else who also
> cross-posts, though... I'm willing to admit that the scheme should NOT
> be required in gemtext links.
> 
> Question: How does this work with relative links in gemtext documents?

  Luke Emmet mentioned this, but I think it got lost.  In text/gemini, the
following are all legal links:

=> gemini://example.net/path/foo.gemini Absolute URL - fully specified
=> //example.net/path/foo.gemini        relative URL - no scheme
=> /path/foo.gemini                     relative URL - no host
=> foo.gemini                           relative URL - no path
=> ../path/foo.gemini                   relative URL - relative

  It is up to the client to resolve these, using rules specified in RFC-3986
section 5.2.

  What Solderpunk just changed was the request *TO* a Gemini server.  It
used to be the following two forms were allowed when making a request to a
Gemini server:

gemini://example.net/path/foo.gemini
//example.net/path/foo.gemini

  This was confusing, and so the schemeless format is no longer allowed when
making a request to a Gemini server.  The only form that is now allowed when
making a request to a Gemini server is:

gemini://example.net/path/foo.gemini

  -spc

  


More information about the Gemini mailing list