[tech] trailing '?' for input (was: entry field in gemtext)

nervuri nervuri at disroot.org
Sun Sep 12 15:53:33 BST 2021


On Fri, 2021-09-10, mbays wrote:
>=> /link? Enter your input

I kind of like it, but I don't think adopting such a convention is worth
the trouble.  It has strange edge cases and it can be confusing.

Ideally this would be a client-only signal, which can be achieved with
an empty fragment identifier:

=> /link# Enter your input

But that just doesn't look right. :)

>* Clients could render such links differently, e.g. with an inline text
>box.

Multiple text boxes might give the false impression of a form.

>every CGI implementation I've seen won't differentiate between "/link"
>and "/link?".

The problem is in the CGI spec:

https://datatracker.ietf.org/doc/html/rfc3875#section-4.1.7

   The server MUST set this variable; if the Script-URI does not include
   a query component, the QUERY_STRING MUST be defined as an empty
   string ("").

So in order for a CGI script to do what you suggest:

>* Doesn't break clients who ignore the convention, as long as the server
>returns 10 to a request with empty query.

it would have to return 10 in response to both "/link" and "/link?",
which is not something we can expect everyone to do.  For instance, I
have a script which requests input only on "/link?input", and returns
an intro page when the query is empty.


More information about the Gemini mailing list