Cool URIs Don't Change (1998)

(w3.org)

235 points | by Klaster_1 18 hours ago ago

58 comments

  • torh 14 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 11 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 8 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 7 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 7 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 8 minutes 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 mouse comfortable mice every created.

            • what 6 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 7 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 6 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 8 hours ago

        That URL works for me. It must be an issue on your end.

    • sixtyj 13 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…

    • phatskat 11 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 3 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.

    • beached_whale 13 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 12 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 an hour 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 9 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

    • Panino 11 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 8 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 13 hours ago

      Entropy

  • firasd 15 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 15 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 an hour 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.

    • EGreg 14 hours ago

      Sounds like most URIs have been downright uncool, then!

  • mikepurvis 15 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
  • feldrim 2 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 15 hours ago

    A classic. This keeps getting more credible as it ages. Now it's been at the same URI for 28 years.

  • mooreds 18 hours ago

    Great article, lots and lots of past discussion: https://hn.algolia.com/?q=cool+uris

    • WalterGR 15 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 9 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 11 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 13 hours ago

        OP is from 1998 so it's the other way around

        • WalterGR 13 hours ago

          I meant the post/submission itself, not the content.

  • rendaw 6 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 5 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 2 minutes ago

        That's why browsers need to change "bookmark" to also create a local snapshot of the page (on every visit).

  • _carbyau_ 8 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 13 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 12 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.

  • burntcaramel 7 hours ago

    They didn’t follow their own advice for their accessibility practices page https://www.w3.org/TR/wai-aria-practices/

  • nicbou 12 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.

  • zkmon 6 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.

    • xp84 6 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 4 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 5 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?

  • donatj 8 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 3 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.

  • Swizec 11 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.

  • jruohonen 16 hours ago

    It is not only about "coolness" but long-term preservation too; that was one of the main motives behind DOIs.

  • ricardo81 11 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.

  • shiandow 15 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 14 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 14 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.

  • moritzwarhier 12 hours ago

    Evergreen. Correct.

  • toomuchtodo 11 hours ago