3 ms·
Since it looks like this got put into the second chance queue and there's still not much discussion, here are various musings about URIs: - First, I don't thin
by cxr 5y ago
Since it looks like this got put into the second chance queue and there's still not much discussion, here are various musings about URIs:
- First, I don't think this post makes a very compelling case for URIs. I'm not mad it was written, or that I read it twice, I just think it says very little. I think the plea from last year's "Please make your products work with URLs" post is a lot more compelling <https://news.ycombinator.com/item?id=22038065 https://news.ycombinator.com/item?id=22038065>.
- I want mail servers to use URLs (or URL-looking things, to pre-empt the sticklers in the crowd) for MIME Message-IDs, esp. for "public" messages like mailing list posts, newsletters, or any kind of email that includes any kind of "view this message on the Foocorp website" link. Or, at the very least, I want tighter integration between mail servers and web servers so I can trivially resolve a message over the Web. E.g. if your mail server allows messages signed @example.com to be sent and it's generating something like <3eac99e6-943e-6cea-a336-1797d8dc0578@example.com> for the Message-ID, then I want to be be able to put https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 into my browser's address bar. It's okay if you initially return a 401/403 and require me to authenticate out-of-band if the content is not sufficiently public, but this should still be possible. (You don't actually have to make the content live at https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 for the canonical URL; return a 3xx and point to the right place.)
- For URLs in particular, I wish more people realized that the relationship between URLs and content does not have to be one-to-one. You can have an unlimited number of names that resolve (via 3xx redirection) to the same resource. Likewise, if you're part of an organization and you find yourself moving things around out of a compulsion to "tidy up" the content hierarchy, but you don't have the power (or wherewithal) to install rules on the Web server to keep the old URLs working (e.g. because the server just uses a dumb files-and-directories-to-content mapping), then please stop.
- When you set up a new laptop or desktop and are prompted to name your machine, you can use that name judiciously. If Alice controls example.net and her laptop is named citrus-micrantha, then she can identify files as <file://citrus-micranthia.example.net/home/alice/Documents/thesis.pdf>. It doesn't even matter that citrus-micranthia.example.net isn't resolvable by software outside the context where she uses that name, e.g. because there are no routes set up on any network-facing equipment. (Note that in Firefox, at least, if you do try to "resolve" these identifiers, they'll actually work, so long as you're doing so on the machine where the file actually lives.)
- Macha 5y ago> I want mail servers to use URLs (or URL-looking things, to pre-empt the sticklers in the crowd) for MIME Message-IDs, esp. for "public" messages like mailing list posts, newsletters, or any kind of email that includes any kind of "view this message on the Foocorp website" link. Or, at the very least, I want tighter integration between mail servers and web servers so I can trivially resolve a message over the Web. E.g. if your mail server allows messages signed @example.com to be sent and it's generating something like <3eac99e6-943e-6cea-a336-1797d8dc0578@example.com> for the Message-ID, then I want to be be able to put https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 into my browser's address bar. It's okay if you initially return a 401/403 and require me to authenticate out-of-band if the content is not sufficiently public, but this should still be possible. (You don't actually have to make the content live at https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 https://example.com/3eac99e6-943e-6cea-a336-1797d8dc0578 for the canonical URL; return a 3xx and point to the right place.) This is JMAP (RFC 8620/8621): https://jmap.io/spec.html https://jmap.io/spec.html https://example.com/Email/get?ids=<message https://example.com/Email/get?ids=<message id>
- cxr 5y agoNo, what JMAP is doing and what I described are two totally different things. My proposal centers on URIs and Fielding-style REST that requires no special knowledge of the server implementation or even media type. JMAP is straight up FIOH-style[1] "REST", requiring out-of-band information on both. 1. See <https://twobithistory.org/2020/06/28/rest.html https://twobithistory.org/2020/06/28/rest.html>; also discussed in the comments at <https://news.ycombinator.com/item?id=29009729 https://news.ycombinator.com/item?id=29009729>