NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Cool URIs Don't Change (1998) (w3.org)
torh 17 hours ago [-]
Not 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.

phillipseamore 14 hours ago [-]
Got an MX4 yesterday and it has a printed card with "Go to logitech.com/mx to get started" resulting in a "Forbidden" error page. This product hasn't even been out for a year!
mikepurvis 11 hours ago [-]
Might have been an overeager packaging designer that printed that and then filed a ticket for someone to set up the redirect and that ticket is still in the person's queue.

Or it's something about your own connection. Maybe an ad blocker? For me, the redirect works:

    $ curl -IL logitech.com/mx 2>/dev/null | grep http
    Location: https://logitech.com:443/mx
    location: https://www.logitech.com:443/mx
    location: https://www.logitech.com/en-ca/mx.html
(I have the Mechanical Mini keyboard and the 3S Anywhere mouse; I like the MX product line.)
phillipseamore 10 hours ago [-]
I'm currently in Europe and forgot my Unimouse, hence the purchase. I just tried on 5G and get a Forbidden there as well, open the VPN back to US and then the URL works. I see "en-ca" in your redirec there so likely they don't have a default/fallback redirect. The MX4 is nice but damn if it isn't the heaviest mouse I've pushed around a tabletop.
BoorishBears 10 hours ago [-]
MX4 finally got me looking elsewhere until I stumbled upon this: https://ergodriven.com/products/the-vertical-handshake-mouse

I got it specifically because they had a mini rant about the weight of switches that other vertical mice use, and while I couldn't tell if that was a real problem, that's the kind of mentality I used to ascribe to Logitech.

The MX4 is clearly marketing logic. The haptic feature adds nothing of note, and 100% feels like their marketing people got to preempt the core goal of making an ergonomic mouse so they could have a headline.

TylerE 3 hours ago [-]
I'm a big fan of the Zowie EC mice. Basically (egonomically) a clone of ye old Microsoft Intellimouse (From the late 90s/early 2000s when MS actually made good hardware), except with modern guts and available in 3 sizes. For my hand the most comfortable mice every created.
what 8 hours ago [-]
The hand is very off putting, should have hired a better hand model. Also real infomercial vibes, the way the posture completely changes between flat and vertical.
aftbit 10 hours ago [-]
Jeez that's a heck of a redirect chain. The :443 is an odd choice no? And the redirect to https://domain before https://www.domain. There are even two more for me. Also... inconsistent casing for the Location header? Different parts of the server stack I suppose.

    Location: https://logitech.com:443/mx
    location: https://www.logitech.com:443/mx
    location: https://www.logitech.com/en-us/mx.html
    location: https://www.logitech.com/discover/c/master-series
    location: https://www.logitech.com/en-us/discover/c/master-series.html
NoahZuniga 9 hours ago [-]
443 is just the default https port, so not really? It doesn't add anything as browsers use that port by default when the scheme is https.
selcuka 11 hours ago [-]
That URL works for me. It must be an issue on your end.
phillipseamore 10 hours ago [-]
Seems to be country/geoip dependent.
Cthulhu_ 2 hours ago [-]
Very uncool; Microsoft even uses an URL shortener for most of their links (from windows etc) so that they can theoretically change where the user ends up at if the original page is replaced for whatever reason.

But they shouldn't. Microsoft especially should make all of their documentation pages plain static HTML pages and keep them available forever.

But also, any Windows documentation can live offline in the OS itself. At least nowadays, I get how in the windows 98 / XP era they wanted to reduce disk usage.

sixtyj 15 hours ago [-]
Average time of url is 5 years.

Therefore I try to make a local copy of a document that I link to.

There a plugin for Firefox that can check bookmarked links. You will be surprised how they vanish pretty fast…

beached_whale 15 hours ago [-]
Microsoft 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 15 hours ago [-]
Yeah, 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 4 hours ago [-]
Particularly since one of their flagship products is a CMS that solves that problem and lets you move documents around without breaking links
sippeangelo 12 hours ago [-]
I've given up because half the help links in the control panel leads to a bing search without any helpful results at all
phatskat 14 hours ago [-]
I bought an air conditioner last year, some wal-mart “smart” AC that was affordable (we had to get three for the new house we moved in to so budget was a big concern) and it has a QR code for the companion app. I finally got around to getting the app this summer and lo and behold, it’s a dead link. Yay.
Gigachad 6 hours ago [-]
Even if the link isn't dead, every one of those companion apps will be dead long before the hardware dies because the companies won't pay a developer and the apple developer fee forever.
Panino 14 hours ago [-]
Mailing list archive software is a constant rug pull: today you link to a post about something relevant, and next month the link goes to a different message about a different subject.
thephyber 11 hours ago [-]
There is no financial incentive for most companies to maintain extremely old URLs. There is no large visible cost known to the project manager at a company who chooses to migrate to a different CMS.

A common solution is to create placeholders at the old URLs with permanent redirects to the new URLs, but that doesn't fix all of the old hyperlinks, so it becomes extremely expensive to maintain backwards compatibility after 2 or more CMS changes.

sghiassy 16 hours ago [-]
Entropy
firasd 18 hours ago [-]
What 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 18 hours ago [-]
Yes but how often in practice does the same information stay accessible via 30x redirects after one reorganization, let alone two or three?
pwdisswordfishq 4 hours ago [-]
Indeed. 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.
krupkinmaxim 15 hours ago [-]
[flagged]
EGreg 17 hours ago [-]
Sounds like most URIs have been downright uncool, then!
Findecanor 1 hours ago [-]
One 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/ for a variation of the same problem.

mikepurvis 17 hours ago [-]
Sadly, 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 12 hours ago [-]
It was removed in 2025 sometime between May 7th and September 11th:

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_...

12 hours ago [-]
feldrim 4 hours ago [-]
What'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/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.

zibw 18 hours ago [-]
A classic. This keeps getting more credible as it ages. Now it's been at the same URI for 28 years.
mooreds 21 hours ago [-]
Great article, lots and lots of past discussion: https://hn.algolia.com/?q=cool+uris
WalterGR 18 hours ago [-]
This 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

186 points | 12 hours ago | 91 comments

doubletwoyou 11 hours ago [-]
The funny thing is that the reason for me posting the long bet was looking through previous posts about Cool URLs. It comes full circle!
sunaookami 14 hours ago [-]
Always like it when Hacker News "follows" a topic over days with different related links. Kinda like a bonus for reading HN daily :)
namanyayg 16 hours ago [-]
OP is from 1998 so it's the other way around
WalterGR 16 hours ago [-]
I meant the post/submission itself, not the content.
_carbyau_ 11 hours ago [-]
A 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.

glacials 16 hours ago [-]
If 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 15 hours ago [-]
Even 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.
rendaw 8 hours ago [-]
URLs 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 7 hours ago [-]
The "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 3 hours ago [-]
That's why browsers need to change "bookmark" to also create a local snapshot of the page (on every visit).
nicbou 15 hours ago [-]
This 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.

burntcaramel 10 hours ago [-]
They didn’t follow their own advice for their accessibility practices page https://www.w3.org/TR/wai-aria-practices/
Swizec 14 hours ago [-]
I'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.

donatj 11 hours ago [-]
I 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 6 hours ago [-]
I'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.

jruohonen 19 hours ago [-]
It is not only about "coolness" but long-term preservation too; that was one of the main motives behind DOIs.
ricardo81 14 hours ago [-]
I 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.

13 hours ago [-]
shiandow 17 hours ago [-]
The 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 17 hours ago [-]
It's different for the different header levels.

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 17 hours ago [-]
I 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.
18 hours ago [-]
moritzwarhier 14 hours ago [-]
Evergreen. Correct.
nc55g3g 4 hours ago [-]
[dead]
Ozzie-D 10 hours ago [-]
[flagged]
breck 11 hours ago [-]
[dead]
zkmon 9 hours ago [-]
The 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.

Joker_vD 2 hours ago [-]
> It prohibits the URL owners from changing it.

That's mostly about the social contract: if you publish something on the Internet, should it be made easier for the readers/users to access, or for you to move the thing around for whatever silly reason?

> I let the URL owners to have freedom to change it.

You know, you used the term "URL owners" twice, and I think I have a fundamental problem with this concept. The publisher ought not to own the URL, it really ought to belong to the consumers.

> A thing that changes or goes away, feels natural.

Yeah, but the URL is not a thing of nature, it's manufactured, and its original intent was that it was manufactured to last.

> An URL that didn't change in 20 years, actually freaks me out, like a non-degradable plastic.

A URL that doesn't change shares zero problems that non-biodegradable plastic has. In fact, the constantly changing URLs do have a couple of problems similar.

Also, you can try a different metaphor, like e.g. a rock or a mountain. It's a freaky thing, innit? Always there, unchanging... until people with excavators show up and turn a mountain into a quarry (which happened to several mountains, actually). Take it, nature!

xp84 9 hours ago [-]
This 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.
zenoprax 6 hours ago [-]
I 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.

sojournerc 7 hours ago [-]
That'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?
9 hours ago [-]
maya335 7 hours ago [-]
[flagged]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 11:20:27 GMT+0000 (Coordinated Universal Time) with Vercel.