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



On 29-Nov-2020 21:54, colecmac at protonmail.com wrote:
> (I keep replying only to the author and not the list, sorry.)
>
>
> I agree with everything up to this:
>
>> Clients MAY treat
>> schemeless links in text/gemini documents as errors, but again assuming
>> a scheme of gemini may be considered a valid application of Postel's
>> law.
>>
>> Authors of Gemini content or software which generates Gemini content
>> MUST add explicit schemes to any schemeless links.
> What is the issue with scheme-less link lines? These are perfectly valid,
> and any client with a good URL parsing library should support them. They
> are already in use by authors, and are of particular importance to sites
> that support bi-hosting on the Web and on Gemini, like flounder.online.
> That way the links users make will work in both spaces automatically.

I think there is some confusion in this thread. Here is my 
interpretation, maybe it can help clarify the conversation.

There are two "types" of link we are talking about.

1. The link lines in gemtext files (the line types beginning =>)

In the first case, if you want a "schemeless" link (i.e. one that works 
for HTTP and Gemini) use the following form:

\\server\path\to\endpoint

If there is no scheme or double slash, the client should interpret the 
link as a relative path with respect to the current location.

2. The URL submitted to the server with the client request.

This is where there is a change to the spec, which is now that the URL 
sent to the server must be a fully qualified link with a scheme.

> Clients MAY treat
> schemeless links in text/gemini documents as errors, but again assuming
> a scheme of gemini may be considered a valid application of Postel's
> law.

Solderpunk mentioned (pasted text above) if there is no scheme, the 

on the URL sent to the server, it is the *server* that should respond 
with an error (after all it is not a valid full URL that is submitted).

If there is no scheme on the expressed link in the gemtext (type 1 
above), the client should interpret it as a relative path, unless it 
starts "//"

  - Luke

---

Previous in thread (6 of 27): 🗣️ Adnan Maolood (me (a) adnano.co)

Next in thread (8 of 27): 🗣️ Luke Emmet (luke (a) marmaladefoo.com)

View entire thread.