RSS 피드, Atom을 써라: 독자가 놓치는 글을 막는 7가지 규칙
RSS Feed Best Practices (2022)
RSS 피드를 제대로 발행하는 기술적 방법을 정리했다. Atom 또는 RSS 2를 쓰고, Content-Type을 올바르게 설정하며, 모든 URL을 절대 경로로 쓸 것을 권한다. 특히 엔트리 ID는 절대 바꾸거나 재사용하지 말아야 독자가 중복이나 누락을 겪지 않는다. 발행 시간은 한 번 정해지면 불변이어야 하며, 업데이트 시간은 의미 있는 수정 때만 바꿔야 한다. 전체 콘텐츠 제공과 HTTPS, 자기 링크, 캐싱 전략도 다룬다.
엔트리 ID는 피드에서 항목을 식별하고 구분하는 주된 수단이다. ID가 바뀌거나 반복되면 독자는 중복을 받거나 항목을 놓치게 된다.
- tjansen
RSS 리더를 만드는 사람으로서, 그 글의 대부분에는 동의합니다. HTML / 스타일링 섹션만 빼고요. 그 부분은 오해의 소지가 있는 정보로 가득합니다.
1. CSS를 쓸 수는 있지만, 대부분의 리더가 이를 완전히 무시한다고 예상해야 합니다. Feedly처럼 널리 쓰이는 리더들조차도요. 지원하는 리더들도 텍스트 스타일 같은 일부만 제공할 뿐입니다. 레이아웃 스타일(positioning이나 flex-layout)은 안 되고, 색상조차 안 되는 경우도 많습니다. 여러분의 리더가 어떤 기능을 지원하는지 시험해보고 싶다면, 이 테스트 피드를 써보세요: https://test-rss.downread.com/styles.rss.xml
2. 인라인 CSS를 선호하라는 정도가 아니라, 그냥 쓰세요. 제정신인 RSS 리더라면 <style>을 걸러낼 테니까요.
3. 네, 시맨틱 요소들은 대체로 작동합니다. 나열된 것들뿐만 아니라 <table>, <figure>, 때로는 <aside> 같은 것들도요.
4. JavaScript에 대해서는 동의합니다. 쓰지 마세요.
5. 괜찮은 리더들은 <video>와 <audio>를 지원합니다. 하지만 <iframe>이 훨씬 낫습니다. 흔히 쓰이는 제공자, 특히 YouTube를 쓴다면요. X, Instagram, Facebook의 임베드도 비교적 널리 지원됩니다.
6. 폼에 대해서는 동의합니다. 잘해야 렌더링 힌트로 쓰일 뿐, 폼은 작동하지 않습니다.
- xyzsparetimexyz
1. RSS 피드를 갖춘다
2. 그것을 없애지 않는다
안타깝게도 Twitter, reddit 그리고 많은 다른 사이트들이 수년째 이 규칙을 어기고 있다.
- talideon
여기에 덧붙이자면, 태그 URI(RFC 4151 참고)는 엔트리 ID를 생성하는 환상적인 방법이다.