Split View: 657,607개의 링크를 따라가 본 결과와 URL 수명 — 링크는 왜 404가 아니라 연결 실패로 죽는가
657,607개의 링크를 따라가 본 결과와 URL 수명 — 링크는 왜 404가 아니라 연결 실패로 죽는가
- 무엇이 올라와 있었나
- 조사 방법
- 결과보다 중요한 것은 실패의 구성입니다
- 연도별 수치와 그 함정
- 무엇이 살아남았는가
- 우리 시스템에서 무엇이 달라져야 하나
- 누구에게는 해당 없는가
- 정리
- 원문과 관련 글
이 글은 2026-08-15에 Hacker News API와 GeekNews 피드에서 직접 확인한 항목을 바탕으로 합니다. 점수와 순위는 계속 바뀝니다.
무엇이 올라와 있었나
Hacker News API로 확인한 항목입니다. 제목은 Where did the old web go? We followed 657,607 links to find out, 아이템 번호는 49289532이고 2026-08-15 기준 221점에 댓글 207개입니다. 링크는 0.mk라는 마케도니아 링크 단축 서비스가 자기 데이터를 조사한 글입니다.
조사 방법
이 글은 방법을 비교적 정직하게 적어 두었습니다. 대상은 2009년부터 2014년 사이에 그 서비스에서 만들어진 링크 657,607개이고, 오래된 데이터베이스 백업에서 복원했습니다. 형식이 깨졌거나 접근할 수 없는 2,429건을 제외해 실제로 크롤링한 것은 655,178개입니다. 추적은 2026년 8월에 이뤄졌습니다.
크롤러는 리다이렉트를 최대 다섯 번까지 따라갔고 연결 실패는 다른 네트워크에서 한 번 더 시도했습니다. 성공의 정의는 HTTP 2xx와 3xx입니다.
결과보다 중요한 것은 실패의 구성입니다
전체 결과는 이렇습니다. 23.32%가 정상적으로 열렸고, 25.44%가 HTTP 오류를 돌려줬으며, 51.24%는 연결 자체가 되지 않았습니다. 연결 실패의 원인으로는 DNS, 타임아웃, TLS 문제가 열거되어 있습니다.
이 세 번째 숫자가 이 조사에서 가장 중요한 발견입니다.
우리는 링크가 죽는 장면을 대개 404로 상상합니다. 사이트는 살아 있는데 그 문서만 옮겨졌거나 지워진 상황입니다. 그런데 실제로는 그것이 소수였습니다. 죽은 링크의 다수는 서버에 닿는 것 자체가 실패했고, 이는 문서가 아니라 도메인과 호스팅이 통째로 사라졌다는 뜻입니다.
이 구분이 실무적으로 중요한 이유는 대응이 완전히 다르기 때문입니다. 404는 원칙적으로 고칠 수 있습니다. 리다이렉트를 걸거나 새 위치를 찾으면 됩니다. 그런데 DNS가 응답하지 않으면 고칠 대상 자체가 없습니다. 즉 링크 부패의 다수는 콘텐츠 관리 문제가 아니라 조직 소멸 문제입니다.
중복을 제거한 결과도 있습니다. 고유한 목적지 494,781개 중에서는 21.3%만 열렸습니다. 호스트 이름 기준으로는 133,605개 중 34,827개만 성공한 URL을 하나라도 갖고 있었습니다. HTTP 오류 중 가장 흔한 것은 404로 76,403개 URL에서 나왔습니다.
연도별 수치와 그 함정
연도별 실패율은 2009년 64.58%, 2010년 60.39%, 2011년 92.53%, 2012년 59.43%, 2013년 75.06%, 2014년 78.16%로 적혀 있습니다.
여기서 글이 스스로 밝힌 단서가 중요합니다. 2011년 수치가 유독 높은 이유는 83,398개짜리 대량 등록 묶음 하나가 그해에 들어 있어서 결과가 치우쳤기 때문입니다. 이런 주석을 달아 둔 것은 신뢰할 만한 신호이지만, 동시에 연도별 추세를 곧이곧대로 읽으면 안 된다는 경고이기도 합니다.
그리고 조사 설계에서 하나 더 짚을 것이 있습니다. 성공을 2xx와 3xx로 정의하면 소프트 404가 살아 있는 것으로 집계됩니다. 도메인이 팔려서 광고 페이지가 되었거나, 사이트 개편으로 모든 옛 주소가 첫 화면으로 리다이렉트되는 경우가 전부 성공입니다. 즉 실제 생존율은 23.32%보다 낮을 가능성이 높습니다. 이 조사는 링크 부패를 과장하는 쪽이 아니라 과소평가하는 쪽으로 치우쳐 있습니다.
무엇이 살아남았는가
글이 정리한 패턴은 예상 가능하면서도 뼈아픕니다. 큰 플랫폼은 잘 살아남았고 개인 블로그, 포럼, 지역 언론, 사진 호스팅은 그러지 못했습니다. 글은 중앙집중화된 웹이 작은 웹보다 대체로 잘 버텼다고 정리합니다.
그리고 이 조사에만 있는 세부가 하나 있습니다. 링크 4,478개가 다른 단축 서비스를 가리키고 있었습니다. 이 경우 실패 확률이 곱해집니다. 원본 사이트가 살아 있어도 중간 단축 서비스가 문을 닫으면 링크는 죽습니다. 리다이렉트 사슬이 길수록 수명은 가장 약한 고리를 따라갑니다.
댓글에서 반복된 이야기 중 하나는 옛 웹이 언제였는지에 대한 정의 다툼이었고, 다른 하나는 이 조사의 아이러니였습니다. 10년쯤 오프라인 상태였던 단축 서비스가 다른 사이트들이 사라졌다는 글을 쓰고 있다는 지적입니다.
우리 시스템에서 무엇이 달라져야 하나
이 조사가 실무자에게 주는 결론은 옛 웹에 대한 감상이 아닙니다. 외부 URL은 시간이 지나면 값이 없어지는 자산이라는 것이고, 여러분의 데이터베이스에 그런 열이 있다면 이미 그 감쇠를 안고 있다는 것입니다.
셋으로 나눠 볼 수 있습니다.
첫째, 참조를 저장할 때 근거도 같이 저장합니다. 사용자가 링크를 제출하거나 시스템이 외부 문서를 인용한다면, URL만 남기지 말고 그 시점의 제목, 게시일, 그리고 가능하면 본문 일부나 스냅숏을 함께 남깁니다. 나중에 원본이 사라져도 무엇을 가리켰는지는 남습니다. 이것은 저장 공간을 쓰는 대신 나중의 조사 불가능을 막는 거래입니다.
둘째, 리다이렉트 사슬을 줄입니다. 위의 4,478건이 보여 주는 것처럼 중간 단계는 곱해지는 위험입니다. 특히 사내 시스템에서 단축 URL을 발급해 문서에 뿌려 놓았다면, 그 단축 서비스의 수명이 그 문서들 전체의 수명 상한이 됩니다.
셋째, 여러분이 발행하는 주소를 수명 관점에서 설계합니다. 주소에 프레임워크 이름, 배포 방식, 조직도 구조가 들어가 있으면 그 셋 중 하나가 바뀔 때 주소가 전부 바뀝니다. 리다이렉트를 남기는 것이 정답인데 실제로는 이전 작업의 마지막 항목이라 잘 빠집니다. 관련해서 REST API 설계 모범 사례와 HTTP 캐싱 전략도 같이 볼 만합니다.
한 가지 덧붙이면, 링크가 살아 있는지 주기적으로 확인하는 작업은 자동화하기 쉽습니다. 다만 위에서 본 소프트 404 문제 때문에 응답 코드만으로 판정하면 안 됩니다. 최소한 최종 URL이 원래 경로와 크게 달라졌는지, 응답 길이가 비정상적으로 짧은지 정도는 함께 봐야 합니다.
누구에게는 해당 없는가
외부 링크를 데이터로 다루지 않는 시스템에는 해당이 없습니다. 내부 자원만 참조하고 그 자원의 수명을 여러분이 통제한다면 이 문제는 링크 부패가 아니라 그냥 마이그레이션 관리입니다.
수명이 짧은 데이터도 마찬가지입니다. 몇 주 뒤에 폐기되는 링크라면 10년 뒤 생존율은 의미가 없습니다.
반대로 이 조사가 직접적으로 겨냥하는 곳은 참조가 근거로 쓰이는 시스템입니다. 인용을 보관하는 도구, 규정 준수 기록, 지식 베이스, 그리고 학습 데이터에 출처 URL을 함께 남기는 파이프라인입니다. 이런 곳에서는 몇 년 뒤에 근거를 제시하지 못하는 상황이 실제 손해가 됩니다.
정리
이 조사에서 기억할 숫자는 23.32%가 아니라 51.24%입니다. 링크는 주로 문서가 옮겨져서 죽는 것이 아니라 그것을 서비스하던 것이 없어져서 죽습니다. 그러면 대응도 달라집니다. 링크를 고치는 일이 아니라 참조하는 시점에 근거를 함께 붙들어 두는 일이 됩니다. 그리고 성공을 3xx까지 넓게 잡은 이 조사의 숫자마저 낙관적인 쪽일 가능성이 높습니다.
원문과 관련 글
- Where did the old web go? — 대상 링크 수와 제외 건수, 크롤링 방법과 성공의 정의, 전체 결과 세 구간, 고유 URL과 호스트 기준 수치, 연도별 실패율과 2011년 치우침에 대한 주석, 큰 플랫폼과 작은 웹의 대비, 다른 단축 서비스를 가리키는 링크 수
- Hacker News 토론 — 2026-08-15 기준 221점, 댓글 207개. 옛 웹의 시기 정의에 대한 논쟁, 조사 주체가 스스로 오랫동안 오프라인이었다는 아이러니 지적
- 이 블로그의 관련 글: REST API 설계 모범 사례 · HTTP 캐싱 전략 · 응용 계층과 HTTP
- 이 블로그의 도구: URL 인코더 · 슬러그 생성기
- 이전 글: 동형암호 컴파일러 HEIR과 비용이라는 조건
- 다음 글: 분류하지 말고 지어내라는 기법과 그 검증
소프트 404로 인한 과소평가 가능성과 시스템 적용 제안은 원문에 적힌 방법을 바탕으로 제가 정리한 것입니다.
Following 657,607 Links, and the Lifespan of a URL — Why Links Die of Connection Failure, Not 404
- What was up there
- The methodology
- The composition of the failures matters more than the total
- The per-year numbers and their trap
- What survived
- What should change in our systems
- Who this does not apply to
- Summary
- Sources and related reading
This post is based on items I read directly from the Hacker News API and the GeekNews feed on 2026-08-15. Scores and rankings keep moving.
What was up there
An item read from the Hacker News API. The title is Where did the old web go? We followed 657,607 links to find out, the item number is 49289532, and as of 2026-08-15 it stood at 221 points with 207 comments. The link points to a post in which 0.mk, a Macedonian link shortener, examined its own data.
The methodology
The post is relatively honest about its method. The subject is 657,607 links created on that service between 2009 and 2014, restored from an old database backup. Excluding 2,429 malformed or inaccessible records left 655,178 actually crawled. The crawl was performed in August 2026.
The crawler followed up to five redirects and retried connection failures once from a second network. Success is defined as HTTP 2xx and 3xx.
The composition of the failures matters more than the total
The overall result: 23.32% loaded normally, 25.44% returned an HTTP error, and 51.24% could not be connected to at all. DNS, timeout, and TLS problems are listed as the causes of connection failure.
That third number is the most important finding in the study.
We usually picture a link dying as a 404 — the site is alive but that one document moved or was deleted. In reality that was the minority. The majority of dead links failed to reach the server at all, meaning the domain and hosting disappeared wholesale, not the document.
That distinction matters practically because the response is entirely different. A 404 is in principle fixable: add a redirect, or find the new location. But when DNS does not answer, there is nothing to fix. In other words, most link rot is not a content management problem but an organizational-disappearance problem.
There are deduplicated results too. Of 494,781 distinct destinations, only 21.3% loaded. At the hostname level, only 34,827 of 133,605 had even one successful URL. The most common HTTP error was 404, across 76,403 URLs.
The per-year numbers and their trap
Failure rates by year are given as 64.58% for 2009, 60.39% for 2010, 92.53% for 2011, 59.43% for 2012, 75.06% for 2013, and 78.16% for 2014.
A caveat the post supplies itself matters here: 2011 is unusually high because a single bulk batch of 83,398 links falls in that year and skews the result. Including that note is a trustworthy signal, but it is simultaneously a warning that the yearly trend must not be read at face value.
And there is one more thing to raise about the study design. Defining success as 2xx and 3xx means soft 404s are counted as alive. A domain sold off and turned into an ad page, or a site redesign that redirects every old address to the front page, all count as successes. So the real survival rate is likely lower than 23.32%. This study is skewed toward understating link rot, not overstating it.
What survived
The pattern the post describes is predictable and painful. Large platforms survived well; personal blogs, forums, local news, and photo hosts did not. The post sums it up as the centralized web having generally held up better than the small web.
And there is one detail unique to this study: 4,478 links pointed at other shortening services. In that case failure probabilities multiply. Even if the original site is alive, the link dies when the intermediate shortener closes. The longer the redirect chain, the more the lifespan follows the weakest link.
Among the recurring threads in the comments were an argument over when exactly the old web was, and the irony of the study itself — a shortener that was offline for about a decade writing about other sites disappearing.
What should change in our systems
The conclusion this study offers a practitioner is not nostalgia about the old web. It is that an external URL is an asset that loses value over time, and if such a column exists in your database, you are already carrying that decay.
It splits three ways.
First, store the evidence alongside the reference. When a user submits a link or your system cites an external document, do not keep only the URL; keep the title at that moment, the publication date, and where possible a portion of the body or a snapshot. Even after the original disappears, what it pointed at remains. This trades storage for not being unable to investigate later.
Second, shorten redirect chains. As those 4,478 records show, intermediate hops are multiplied risk. In particular, if an internal system issues short URLs that get scattered through your documents, that shortener's lifespan becomes the ceiling on the lifespan of all those documents.
Third, design the addresses you publish with lifespan in mind. If your addresses embed a framework name, a deployment method, or your org chart, then all of them change when any one of those three does. Leaving redirects behind is the right answer, but in practice it is the last item on a migration checklist and gets dropped. REST API design best practices and HTTP caching strategies are worth reading alongside this.
One addition: periodically checking whether links are alive is easy to automate. But because of the soft 404 problem above, you cannot judge by response code alone. At minimum, also check whether the final URL diverged substantially from the original path and whether the response length is abnormally short.
Who this does not apply to
Systems that do not handle external links as data are unaffected. If you reference only internal resources whose lifespan you control, this is not link rot but ordinary migration management.
The same for short-lived data. If a link is discarded in a few weeks, its ten-year survival rate is meaningless.
Conversely, what this study targets directly is systems where references serve as evidence: citation-keeping tools, compliance records, knowledge bases, and pipelines that store source URLs alongside training data. In those places, being unable to produce the evidence a few years later is a real loss.
Summary
The number to remember from this study is not 23.32% but 51.24%. Links mostly die not because a document moved but because whatever was serving it ceased to exist. That changes the response: the work is not fixing links but capturing the evidence at the moment you reference it. And even this study's numbers, generous enough to count 3xx as success, are likely the optimistic side.
Sources and related reading
- Where did the old web go? — the number of links and exclusions, the crawl method and definition of success, the three-way overall result, the unique-URL and host-level figures, the per-year failure rates with the note about the 2011 skew, the contrast between large platforms and the small web, and the count of links pointing at other shorteners
- Hacker News discussion — 221 points and 207 comments as of 2026-08-15; the argument over when the old web was, and the irony that the study's author was itself offline for years
- Related on this blog: REST API design best practices · HTTP caching strategies · The application layer and HTTP
- Tools on this blog: URL encoder · Slug generator
- Previous in this series: The HEIR homomorphic encryption compiler and the condition called cost
- Next in this series: The technique of hallucinating instead of classifying, and how to validate it
The point about understatement from soft 404s, and the suggestions for your own systems, are my own, built on the methodology described in the source.