3 ms·
If you click an "https:// https://" link, you don't know whether or not it'll work in your minimal browser. If you click on a "gemini://" link, you know it'll w
by Seirdy 5y ago
If you click an "https:// https://" link, you don't know whether or not it'll work in your minimal browser. If you click on a "gemini://" link, you know it'll work in your Gemini client.
Gemtext is easy to parse since a parser only has to read the first characters of a line to know a line's semantic meaning. Being line-oriented also improves a document's structure, as it's easy to navigate with links getting their own line.
That's the rationale for using a different protocol scheme and markup.
- MaxBarraclough 5y ago> If you click an "https:// https://" link, you don't know whether or not it'll work in your minimal browser Interesting point, it would be unfortunate not to be able to distinguish web links from links that commit to using only the subset. It doesn't strike me as insurmountable though. Off the top of my head, file-extensions and/or MIME types might work.
- Seirdy 5y agoYou cannot include this information in every URL. If you want to include information on how to handle a URL, the proper way is to use an appropriate scheme.
- MaxBarraclough 5y agoYou've not made a specific point, so I'm not sure how to respond. Why wouldn't file-extensions work? HTML uses .html and .htm. Why wouldn't MIME types work? HTML uses text/html.
- Seirdy 5y agoHere are some valid URLs: https://seirdy.one/ https://seirdy.one/ https://seirdy.one/favicon.ico https://seirdy.one/favicon.ico (hint: it's not a .ico file) https://example.com/index.php https://example.com/index.php What can you infer only from the URL, before you click? File extensions show server side file formats, which reveal information about the backend's file representation; these do not necessarily correspond to the mimetype. .php, .asp, and trailing slashes are all examples of this; a trailing .html only means that the resource is (probably) a static file on the server, but neither gemini not the Web (nor even Gopher) are necessarily against dynamic content. Furthermore, web servers can send a mimetype header along with an "x-content-type-options: nosniff" header to make compliant user agents disregard the file extension and use whatever mimetype the "mimetype: " header supplies. I personally use this to deliver a PNG favicon when a browser requests "https://seirdy.one/favicon.ico https://seirdy.one/favicon.ico". The file extension tells you nothing if the scheme is HTTP(S). If you see someone link both a gemini and an https url, you know what the difference is in advance and that can inform which one you click. The point of a scheme is to supply a guarantee about what standards a URL will conform to without reading the response. This is necessary to inform the behavior of the request itself, and as I've just explained it can also convey information to the user before they choose to make said request.
- ekianjo 5y ago> If you click an "https:// https://" link, you don't know whether or not it'll work in your minimal browser. Thats not what they are talking about. They explicitely said using existing browsers, not making your useless html4 only browser.
- betwixthewires 5y agoIt answers the question though if you stop and think about it. If a document opens in a program that can render any plethora of whatever, you don't know what is going to happen when you click that link. With Gemini, you do: a document is going to be fetched that has words in it and those words are going to be displayed on your screen.