From RSS to Atom - Susam Pal
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
Susam Pal은 2026년에야 개인 웹사이트 피드를 RSS에서 Atom으로 전환하며, 구현 과정과 Atom의 장점, 기존 구독자에게 새 글처럼 보이지 않게 한 임시 조치, 그리고 여전히 웹 피드가 유효하다는 관찰을 설명한다.
📌 핵심 요약
- 저자는 오래전부터 RSS 피드를 Atom 피드로 바꾸고 싶었지만 시간을 내지 못하다가, 대수적 그래프 이론 공부 중 짧은 휴식 시간에 Common Lisp로 사이트 생성기를 고쳐 약 한 시간 만에 전환을 마쳤다.
- 전환의 큰 변경점은 각 게시물의 기존 key 속성을 uuid 속성으로 바꾼 것이었다. RSS의 guid에는 임의의 짧은 문자열이 가능했지만, Atom entry의 id는 URI여야 하므로 UUID URN을 사용했다.
- Atom entry는 title, link, id, updated, content 등을 포함하며, 저자는 UUIDv4 식별자, RFC 3339 기반 timestamp, HTML 콘텐츠 타입 명시가 가능하다는 점을 긍정적으로 평가했다.
- 기존 글까지 새 Atom 피드에 포함하면 ID가 바뀌어 모두 새 unread item처럼 보일 수 있기 때문에, 저자는 구독자 스팸을 피하려고 전환 이후 발행된 새 글만 메인 피드에 포함하는 임시 workaround를 넣었다.
- 저자는 2026년에도 자신의 개인 웹사이트 트래픽 상당수가 웹 피드에서 온다고 보고, RSS와 Atom이 죽었다는 주장과 달리 피드 리더 사용자 기반이 여전히 활동적이라고 설명한다.
🧩 주요 포인트
- 저자는 오래전부터 RSS 피드를 Atom 피드로 바꾸고 싶었지만 시간을 내지 못하다가, 대수적 그래프 이론 공부 중 짧은 휴식 시간에 Common Lisp로 사이트 생성기를 고쳐 약 한 시간 만에 전환을 마쳤다.
- 전환의 큰 변경점은 각 게시물의 기존 key 속성을 uuid 속성으로 바꾼 것이었다. RSS의 guid에는 임의의 짧은 문자열이 가능했지만, Atom entry의 id는 URI여야 하므로 UUID URN을 사용했다.
- Atom entry는 title, link, id, updated, content 등을 포함하며, 저자는 UUIDv4 식별자, RFC 3339 기반 timestamp, HTML 콘텐츠 타입 명시가 가능하다는 점을 긍정적으로 평가했다.
- 기존 글까지 새 Atom 피드에 포함하면 ID가 바뀌어 모두 새 unread item처럼 보일 수 있기 때문에, 저자는 구독자 스팸을 피하려고 전환 이후 발행된 새 글만 메인 피드에 포함하는 임시 workaround를 넣었다.
- 저자는 2026년에도 자신의 개인 웹사이트 트래픽 상당수가 웹 피드에서 온다고 보고, RSS와 Atom이 죽었다는 주장과 달리 피드 리더 사용자 기반이 여전히 활동적이라고 설명한다.
🧠 상세 정리
1. 늦었지만 실제로 이루어진 RSS에서 Atom으로의 전환
저자는 2026년 5월 4일 글에서 전날 자신의 웹사이트를 RSS 피드에서 Atom 피드로 전환했다고 밝힌다. 그는 이 일이 2010년 무렵의 오래된 글처럼 느껴질 수 있다는 점을 농담처럼 언급하면서도, 실제로는 2026년에 뒤늦게 실행한 변화라고 설명한다. 스스로도 15년 또는 20년 정도 늦었다고 말할 만큼, 이 전환은 오래전부터 가능했고 익숙한 주제였다. 그러나 글의 핵심은 최신 유행을 따라가는 것이 아니라, 개인 사이트 운영자가 오래 미뤄 온 기술적 정리를 마침내 수행한 경험을 기록하는 데 있다.
2. 휴식 중에 시작된 impulse coding과 구현 과정
전환은 계획된 장기 작업이라기보다 저자가 대수적 그래프 이론 공부에서 잠시 머리를 식히는 동안 시작한 짧은 코딩 작업이었다. 그는 이를 impulse buying에 빗대어 impulse coding이라고 부르며, 새 책을 사는 대신 Atom 피드를 얻게 되었다고 표현한다. 개인 웹사이트는 그의 열정 프로젝트이고 Common Lisp는 좋아하는 언어이기 때문에, 사이트 생성기를 만지는 일은 공부 사이의 좋은 휴식이 되었다. 실제 구현에는 약 한 시간이 걸렸고, 작업을 마친 뒤에는 다시 공부로 돌아갈 만큼 기운을 되찾았다고 말한다.
3. RSS guid에서 Atom id로 바꾸기 위해 UUID를 도입한 이유
저자는 변경 사항의 상당 부분이 각 게시물의 key 속성을 uuid 속성으로 바꾸는 일이었다고 설명한다. 기존 key 값은 RSS 피드에서 guid 요소의 값으로 쓰였고, RSS에서는 임의의 짧은 문자열도 item 식별자로 사용할 수 있었다. 반면 Atom feed의 entry id 요소는 URI여야 하므로, 그는 일반적인 선택지인 UUID URN을 사용했다. 이를 위해 uuidgen을 호출하는 shell command로 HTML 파일들의 key 주석을 uuid 주석으로 교체했고, 나머지 변경은 feed template과 정적 사이트 및 피드를 생성하는 Common Lisp 프로그램에 반영했다.
4. Atom entry 구조와 저자가 본 Atom의 장점
저자는 자신의 피드에서 나온 Atom entry 예시를 보여 주며 title, link, id, updated, content 요소가 어떻게 구성되는지 설명한다. 각 entry가 고유한 UUIDv4를 갖는 점을 마음에 들어 했고, Atom의 timestamp가 RFC 3339의 date-time 형식을 따른다는 점도 장점으로 언급한다. 또 content 요소에서 type을 html로 명시할 수 있으며, text, html, xhtml 같은 값이 흔히 쓰인다고 설명한다. 특히 콘텐츠 타입을 명확히 선언할 수 있는 점을 Atom이 RSS보다 가진 가장 큰 장점으로 보고, RSS 2.0에서는 피드 리더가 내용을 검사해 타입을 추측해야 한다고 대비한다.
5. 기존 글을 피드에서 제외한 임시 workaround
전환 직후 메인 feed.xml에는 사이트 전체 200개가 넘는 페이지 중 두 개의 entry만 포함되어 있었다. 이유는 Atom 전환 이후 발행된 새 글만 피드에 넣어 구독자에게 불필요한 새 unread item이 대량으로 생기는 일을 막기 위해서였다. Atom의 ID가 URI여야 한다는 요구 때문에 기존 글들의 식별자가 모두 바뀌었고, 이전 글을 그대로 포함하면 피드 리더가 그것들을 새 글로 인식할 수 있었다. 저자는 과거에 이런 문제로 몇 차례 불만을 받은 적이 있어 이번에는 조심했고, 사이트 생성기에 전환 전 게시물을 제외하는 짧은 one-liner workaround를 넣었다.
6. 2026년에도 웹 피드가 의미 있는 이유
저자는 RSS와 Atom이 죽었다는 반복적인 주장과 달리, 2026년에도 자신의 개인 웹사이트 트래픽 상당수가 웹 피드에서 온다고 말한다. 새 글을 발행할 때마다 피드 리더를 통해 들어오는 방문자가 적지 않으며, 웹 서버 로그의 referrer data를 보면 웹 피드, 뉴스레터, 검색엔진 순으로 큰 유입원이 보인다고 설명한다. 뉴스레터 역시 기술 분야에 많은 수와 활동적인 사용자 기반이 있어, 가끔 자신의 기묘하거나 가벼운 글이 소개되면 많은 방문을 가져온다고 덧붙인다. 그는 HTML 페이지 방문의 referer header와 이후 탐색 흐름을 통해 자동 XML fetch와 실제 독자 방문을 구분할 수 있다고 보고, 웹 피드를 간접 증거로 관찰 가능한 보이지 않는 소셜 네트워크에 비유한다.
🧾 핵심 주장 / 시사점
- Atom 전환의 핵심은 단순한 포맷 변경이 아니라, entry 식별자와 콘텐츠 타입처럼 피드 리더가 해석하는 기본 의미를 더 명확하게 만드는 데 있었다.
- 기술 마이그레이션에서는 새 형식의 요구사항을 만족하는 것만큼이나, 기존 구독자가 오래된 글을 새 글로 오인하지 않도록 사용자 경험을 보존하는 일이 중요하게 드러난다.
- 저자의 로그 관찰에 따르면 개인 웹사이트 생태계에서 웹 피드는 2026년에도 실제 방문자를 보내는 유입 경로이며, 뉴스레터와 검색엔진과 함께 여전히 의미 있는 배포 채널로 작동한다.
✅ 액션 아이템
- Atom 전환 시 게시물 식별자를 RSS guid의 임의 문자열에서 URI 규격 UUID URN으로 바꿔 id 정합성 이슈를 정리한다.
- 구독자 혼선을 막기 위해 전환 후 발행 글만 메인 피드에 노출하고, 기존 글 즉시 반영은 보류하는 임시 조치를 적용한다.
- Atom 항목을 title, link, id, updated, content 중심으로 정리하고 UUIDv4 식별자와 RFC3339 타임스탬프, HTML 콘텐츠 타입 반영을 검증한다.
❓ 열린 질문
- UUID URN으로 ID를 바꾼 뒤 기존 글이 새 unread처럼 중복 노출되는 범위를 어느 수준에서 허용해야 할까?
- 전환 직후 기존 글 제외 방식이 구독자 동기화 지연이나 항목 누락으로 이어질 가능성은 어디에서 점검해야 할까?
- 웹 피드 유입이 크다는 전제에서 RSS와 Atom을 병행할지 우선순위를 어디에서 전환해야 조직적 저항을 줄일 수 있을까?