4 ms·
Cool URIs Don't Change (1998)
- mooreds 2mo agoGreat article, lots and lots of past discussion: https://hn.algolia.com/?q=cool+uris https://hn.algolia.com/?q=cool+uris
- WalterGR 2mo agoThis post is related to (inspired by?): "The original URL for this prediction will no longer be available in 11 years (2011)" (longbets.org) https://news.ycombinator.com/item?id=49228458 https://news.ycombinator.com/item?id=49228458 186 points | 12 hours ago | 91 comments
- namanyayg 2mo agoOP is from 1998 so it's the other way around
- WalterGR 2mo agoI meant the post/submission itself, not the content.
- sunaookami 2mo agoAlways like it when Hacker News "follows" a topic over days with different related links. Kinda like a bonus for reading HN daily :)
- doubletwoyou 2mo agoThe funny thing is that the reason for me posting the long bet was looking through previous posts about Cool URLs. It comes full circle!
- jruohonen 2mo agoIt is not only about "coolness" but long-term preservation too; that was one of the main motives behind DOIs.
- deleted 2mo ago[deleted]
- zibw 2mo agoA classic. This keeps getting more credible as it ages. Now it's been at the same URI for 28 years.
- firasd 2mo agoWhat this page doesn't mention is 301 or 302 redirects. SEO has made "old URLs staying live" more of a widespread concern than it was at the time. And WordPress etc ship with inbuilt redirects upon slug rename So to a large extent this has been mitigated and not using the suggestion here, which is to create a permanent URL ontology upfront That said eventually neglect, removal, reorgs (or simply websites going offline) still happens... but the way the suggested goal has been advanced is due to becoming a business priority and with redirects and CMSes as tech to help That said one suggestion made here turned out to be very useful and indeed is the default in WP: http://www.w3.org/1998/12/01/chairs If you use date as part of the taxonomy then -- as Tim BL says here: > A reason for using a topic area as part of the URI is that responsibility for sub-parts of a URI space is typically delegated, and then you need a name for the organizational body - the subdivision or group or whatever - which has responsibility for that sub-space. This is binding your URIs to the organizational structure. It is typically safe only when protected by a date further up the URI (to the left of it): 1998/pics can be taken to mean for your server "what we meant in 1998 by pics", rather than "what in 1998 we did with what we now refer to as pics."
- bensyverson 2mo agoYes but how often in practice does the same information stay accessible via 30x redirects after one reorganization, let alone two or three?
- krupkinmaxim 2mo ago[flagged]
- pwdisswordfishq 2mo agoIndeed. Back when I worked at a small software sweatshop^Whouse, I was tasked with migrating the company's static-ish website (a bunch of PHP files) into WordPress. Heeding the linked advice, I carefully set up 301 redirects from the old pages to new ones. When I look up the website now, the redirects are gone. Nobody cared to maintain them.
- EGreg 2mo ago
- mikepurvis 2mo agoSadly, though: $ curl -I https://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm HTTP/2 404 content-type: text/html; charset=UTF-8 content-length: 54737 date: Sun, 09 Aug 2026 17:58:44 GMT strict-transport-security: max-age=31536000; includeSubdomains; preload server: Apache
- MarkSweep 2mo agoIt was removed in 2025 sometime between May 7th and September 11th: https://web.archive.org/web/20250000000000*/https://www.nsf.gov/pubs/1998/nsf9814/nsf9814.htm https://web.archive.org/web/20250000000000*/https://www.nsf.... Maybe its removal is related to this: https://en.wikipedia.org/wiki/2025_United_States_government_online_resource_removals https://en.wikipedia.org/wiki/2025_United_States_government_...
- deleted 2mo ago[deleted]
- shiandow 2mo agoThe headers that push a bit into the margin are an interesting stylistic choice, but why on earth does it have to be random? Did something change that affected the layout somehow? (ironically)
- snthd 2mo agoIt's different for the different header levels. https://www.w3.org/Provider/Style/GuideStyle.css https://www.w3.org/Provider/Style/GuideStyle.css H1 { margin-left: -20%; } H2 { margin-left: -15%; } H3 { margin-left: -10%; } H4 { margin-left: -05%; }
- al_borland 2mo agoI find it works well for helping maintain context. I often can't easily tell the difference between different headers unless they're right next to each other, and even then some of them are difficult to discern. Adding the indentation is a way to make the hierarchy more clear.
- torh 2mo agoNot that long ago I clicked on a link that Microsoft provided somewhere in Windows -- could have been the event log, I don't remember. I do remember it was for a specific support article, but it ended up at a generic landing page for something. I am not talking about a link from Windows 95, it must have been Windows 10. But regardless, it is all gone. Then again, it probably wasn't a cool URL to begin with. It's amazingly many news sites that also seem to scrub their URLs every time they do a redesign. Also uncool.
- sghiassy 2mo agoEntropy
- beached_whale 2mo agoMicrosoft has a terrible habit of doing that. KB's used to have a predicable URL, they may again, but they keep changing them. Or any of their docs really. It's terrible as those URL's end up in other documents to be killed. This is not really an enterprise friendly way of supporting customers.
- toyg 2mo agoYeah, I always wondered how one of the wealthiest companies on earth could be so poor in linking to their own documentation. Then I realized that they have a galaxy of consultants and experts that effectively make a living by keeping on top of all issues and fixing them for a fee. So there is little incentive for them to actually be user-friendly: as long as they are "partner friendly" with timely material, that's good enough. They are not alone in this, btw - pretty much all major platform providers do this, one way or the other.
- bandrami 2mo agoParticularly since one of their flagship products is a CMS that solves that problem and lets you move documents around without breaking links
- sippeangelo 2mo ago
- glacials 2mo agoIf you run a statically generated website, I recommend append-only generation, where you keep your `dist/` (or whatever web root) stateful between builds. This guarantees you don't break URIs even if the static generator changes or the source content is removed. You can even make an orphan branch and check out that branch into `dist/` as a worktree to keep it under version control.
- cxr 2mo agoEven for people who don't practice this, if you're publishing a static site, you can make sure you're generating output with rel=canonical links and at any given point, you should be able to run a tool (entirely separate from your chosen static site generator) over the output to extract those URLs and verify at time t2 that the set of links that existed at t1 (where t1 < t2) is a subset of those at t2.
- nicbou 2mo agoThis is something I work really hard to maintain on my websites. I often refer to government websites as sources for my guides, and these URLs break at an alarming pace. It's as if the German government is moving reference pages and services around just for giggles. It creates a significant maintenance burden on my end. When I worked for an ecommerce website, we spent weeks making sure every URL worked after a migration. Nowadays it feels a little quaint because most of my 404s are from LLMs hallucinating URLs that never existed, sometimes for topics I never covered. I wonder what nonsense it attributes to me.
- moritzwarhier 2mo agoEvergreen. Correct.
- ricardo81 2mo agoI recall some link rot research from ~10 years ago that estimated it was in the high single digit percentiles per year. archive.org perhaps have/could have some interesting insights on it.
- Swizec 2mo agoI've been trying to keep all URLs backwards compatible forever on swizec.com and it's surprisingly hard. I _think_ anything from 2010 onward should be good. The domain started in 2005. Unfortunately I'll never know for sure.
- toomuchtodo 2mo agohttps://arks.org/ https://arks.org/ https://doi.org/ https://doi.org/ https://perma.cc/ https://perma.cc/ https://en.wikipedia.org/wiki/OpenURL https://en.wikipedia.org/wiki/OpenURL
- _kb 2mo agohttps://specs.ipfs.tech/ipfs-uri/ https://specs.ipfs.tech/ipfs-uri/
- deleted 2mo ago[deleted]
- _carbyau_ 2mo agoA side effect of the idea that this information can be "permanent" means you should really think before putting it up there. But today is not that, it is the opposite of that with stuff being put online that really doesn't need to be. This is permaweb vs slopweb.
- breck 2mo ago[dead]
- donatj 2mo agoI find that every time major companies as well as most authors switch blogging systems even if they maintain their URLs broadly, their RSS feed url breaks.
- OuterVale 2mo agoI've found it the case with many content management systems that they're quite rigid regarding where they'll output feeds and what they'll name those feeds. Lots of rss.xml switching to feed.xml or vice versa between platforms. Or moving to rss.xml under a /feed directory. Not a reason not to have a redirect, but a reason that this happens.
- burntcaramel 2mo agoThey didn’t follow their own advice for their accessibility practices page https://www.w3.org/TR/wai-aria-practices/ https://www.w3.org/TR/wai-aria-practices/
- Ozzie-D 2mo ago[flagged]
- zkmon 2mo agoThe concept of hooking onto a URL, for years, is a bad thing. It prohibits the URL owners from changing it. It's not 90's. You have search engines now to get to content. It's almost same as bookmarking an IP address, and complaining that the change has frustrated you, or someone scribbled the IP address on the margin of a letter. I usually bookmark a link only to come back to a few days/weeks later. I don't expect a bookmark to work after years. I let the URL owners to have freedom to change it. A thing that changes or goes away, feels natural. An URL that didn't change in 20 years, actually freaks me out, like a non-degradable plastic.
- deleted 2mo ago[deleted]
- xp84 2mo agoThis just means you’ve accepted URLs as something different than they were made to be. If the resource no longer exists - fine, c’est la vie. Otherwise, there should never be any need for it to change. It should never have encoded any implementation details anyway.
- sojournerc 2mo agoThat's like saying the Dewey decimal system is creepy because it doesn't change. That's the point! A reference should be where you left it. Why must it change?
- maya335 2mo ago[flagged]
- zenoprax 2mo agoI agree. I also think that URLs will always be ephemeral because you can't control the TLD. If the TLD operator increases the price or introduces new conditions that are disagreeable you have no way of handling redirection. If something is important to the site operator they will make their content discoverable. If something is important to the reader then they should archive/snapshot it. In either case, stable URIs are non-essential but in the latter case you are protecting yourself from domain name changes too.
- rendaw 2mo agoURLs are URIs and URLs include "how to access this" which fundamentally makes it hard to prevent them from changing. If it were an abstract ID, like a UUID, or a hash or something I'd get it. So are all URLs bad URIs?
- Xirdus 2mo agoThe "R" in URL is a misnomer. Designers of the early internet really wanted internet to be made of documents. It turned out the internet is actually made of interactive apps and services. Hence the impedance mismatch between terms and their practical meaning. URL was supposed to be used to locate resources in the resouce-oriented internet - instead, in the service-oriented internet, URL is a language of sorts for making remote procedure calls, some of which are read-only operations returning resources. So URLs are only as stable as the RPCs powering the service behind it. As services evolve, so do URLs.
- silon42 2mo agoThat's why browsers need to change "bookmark" to also create a local snapshot of the page (on every visit).
- feldrim 2mo agoWhat's funny to me is that Scot Hanselman, an MS employee, wrote about it for a - not so- long time ago as well: - https://www.hanselman.com/blog/urls-are-ui https://www.hanselman.com/blog/urls-are-ui - https://www.hanselman.com/blog/dont-ever-break-a-url-if-you-can-help-it https://www.hanselman.com/blog/dont-ever-break-a-url-if-you-... There are people in MS who knows this is an issue. But knowledge is not equal to behaviour.
- nc55g3g 2mo ago[dead]
- Findecanor 2mo agoOne of my pet peeves are pages that detect that I am from another region and then redirect: not to the corresponding page in my language: but to the site's front page with a different region/language setting. Sometimes it is another domain altogether. This makes it difficult to share links to info on some products in forums, chat or a Wiki -- because the recipient may not be from the same country as I am. See also: https://xkcd.com/869/ https://xkcd.com/869/ for a variation of the same problem.
- amichal 2mo agoThis was not the URL of this page in 1998.
- dwrolvink 2mo agohttps://domain/customresource/ ---> https://domain/newresource-a/ https://domain/newresource-b So if I split up a resource into two new resources, where should the old link point to? It seems to me never changing URLs could only ever fully work for applications where the datamodel never changes.
- macrael 2mo agoIn this case I would try and have the old resource url display a page that links to the two new resources. It’s not that the content of a page should never change but that links into your site shouldn’t break
- apothegm 2mo agoDepends a bit on the resource type, but one obvious option is something like a Wikipedia “disambiguation” page
- rensike 2mo ago[flagged]