\

Cool URIs Don't Change (1998)

248 points - yesterday at 2:32 PM

Source
  • torh

    yesterday at 6:42 PM

    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

        yesterday at 9:48 PM

        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

            today at 12:29 AM

            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

                today at 1:11 AM

                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

                    today at 1:34 AM

                    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

                        today at 8:31 AM

                        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

                          today at 3:09 AM

                          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

                    today at 1:35 AM

                    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

                        today at 2:35 AM

                        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

                  today at 12:30 AM

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

                    • phillipseamore

                      today at 1:12 AM

                      Seems to be country/geoip dependent.

              • Cthulhu_

                today at 9:46 AM

                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

                  yesterday at 8:00 PM

                  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

                    yesterday at 7:52 PM

                    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

                        yesterday at 8:27 PM

                        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

                            today at 7:40 AM

                            Particularly since one of their flagship products is a CMS that solves that problem and lets you move documents around without breaking links

                        • sippeangelo

                          yesterday at 11:29 PM

                          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

                        yesterday at 9:38 PM

                        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

                            today at 5:25 AM

                            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

                          yesterday at 9:16 PM

                          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

                            today at 12:12 AM

                            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

                              yesterday at 7:31 PM

                              Entropy

                          • firasd

                            yesterday at 5:40 PM

                            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

                                yesterday at 5:49 PM

                                Yes but how often in practice does the same information stay accessible via 30x redirects after one reorganization, let alone two or three?

                                  • pwdisswordfishq

                                    today at 7:43 AM

                                    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

                                      yesterday at 8:30 PM

                                      [flagged]

                                  • EGreg

                                    yesterday at 6:48 PM

                                    Sounds like most URIs have been downright uncool, then!

                                • mikepurvis

                                  yesterday at 5:59 PM

                                  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

                                • Findecanor

                                  today at 10:14 AM

                                  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.

                                  • feldrim

                                    today at 6:59 AM

                                    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

                                      yesterday at 5:33 PM

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

                                      • mooreds

                                        yesterday at 2:42 PM

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

                                          • WalterGR

                                            yesterday at 5:16 PM

                                            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

                                                yesterday at 11:50 PM

                                                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

                                                  yesterday at 9:34 PM

                                                  Always like it when Hacker News "follows" a topic over days with different related links. Kinda like a bonus for reading HN daily :)

                                                  • namanyayg

                                                    yesterday at 7:18 PM

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

                                                      • WalterGR

                                                        yesterday at 7:28 PM

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

                                            • _carbyau_

                                              today at 12:21 AM

                                              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

                                                yesterday at 7:48 PM

                                                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

                                                    yesterday at 8:25 PM

                                                    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

                                                  today at 3:09 AM

                                                  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

                                                      today at 4:03 AM

                                                      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

                                                          today at 8:38 AM

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

                                                  • nicbou

                                                    yesterday at 8:31 PM

                                                    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

                                                      today at 1:20 AM

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

                                                      • Swizec

                                                        yesterday at 9:45 PM

                                                        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

                                                          today at 12:35 AM

                                                          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

                                                              today at 5:14 AM

                                                              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

                                                            yesterday at 4:33 PM

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

                                                            • ricardo81

                                                              yesterday at 9:39 PM

                                                              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.

                                                              • yesterday at 10:44 PM

                                                                • shiandow

                                                                  yesterday at 6:05 PM

                                                                  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

                                                                      yesterday at 6:21 PM

                                                                      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

                                                                        yesterday at 6:42 PM

                                                                        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.

                                                                    • yesterday at 5:33 PM

                                                                      • moritzwarhier

                                                                        yesterday at 8:51 PM

                                                                        Evergreen. Correct.

                                                                        • nc55g3g

                                                                          today at 7:07 AM

                                                                          [dead]

                                                                          • Ozzie-D

                                                                            today at 1:25 AM

                                                                            [flagged]

                                                                            • breck

                                                                              today at 12:35 AM

                                                                              [dead]

                                                                              • zkmon

                                                                                today at 2:11 AM

                                                                                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

                                                                                    today at 8:54 AM

                                                                                    > 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

                                                                                      today at 2:39 AM

                                                                                      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

                                                                                        today at 4:57 AM

                                                                                        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

                                                                                          today at 4:03 AM

                                                                                          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?

                                                                                          • today at 2:27 AM

                                                                                            • maya335

                                                                                              today at 4:44 AM

                                                                                              [flagged]