Открыть сервис

RSS 2.0

RSS 2.0 (Really Simple Syndication) — это формат веб-синдикации на основе XML, предназначенный для распространения и публикации часто обновляемого контента, такого как новости, записи блогов, подкасты и заголовки статей. Версия 2.0, выпущенная в 2002 году, является одной из наиболее распространённых и стабильных спецификаций семейства RSS, отличающейся простотой синтаксиса и расширяемостью за счёт использования пространств имён.

История

Предшественником RSS 2.0 стал формат RSS 0.91, разработанный компанией Netscape в 1999 году для портала My.Netscape.com. После того как Netscape отказалась от развития технологии, разработку в 2000 году продолжила компания UserLand Software под руководством Дэйва Винера. В 2002 году была опубликована спецификация RSS 2.0, которая заменила более ранние версии (0.91, 0.92, 0.93, 0.94).

В 2003 году права на спецификацию были переданы Гарвардской школе права (Harvard Law School), где она была закреплена как «замороженная» — то есть не предполагающая дальнейших изменений, за исключением уточнений через пространства имён. Это решение было принято для предотвращения фрагментации стандарта и обеспечения обратной совместимости.

Структура и синтаксис

RSS 2.0 представляет собой XML-документ, корневым элементом которого является <rss> с атрибутом версии version="2.0". Внутри него содержится единственный элемент <channel>, описывающий канал (источник контента) и его элементы.

Обязательные элементы канала

  • title — название канала (например, «Новости Яндекс.Погоды»).
  • link — URL-адрес веб-сайта, соответствующего каналу.
  • description — краткое описание канала.

Необязательные элементы канала

  • language — язык контента (например, ru для русского).
  • copyrightинформация об авторских правах.
  • managingEditor — адрес электронной почты редактора.
  • webMaster — адрес электронной почты технического администратора.
  • pubDate — дата последней публикации канала в формате RFC 822.
  • lastBuildDate — дата последнего изменения канала.
  • category — категория канала (может быть указана одна или несколько).
  • generator — программа, сгенерировавшая RSS-ленту.
  • docs — URL документации по формату (обычно http://blogs.law.harvard.edu/tech/rss`).
  • cloud — позволяет подписываться на уведомления об обновлениях через веб-сервис.
  • ttl (time to live) — время в минутах, в течение которого канал может кэшироваться.
  • image — изображение (логотип) канала, содержащее вложенные элементы url, title, link, а также необязательные width и height.
  • rating — рейтинг контента (например, PICS).
  • textInput — элемент для отправки текстовых данных (редко используется).
  • skipHours — часы, в которые агрегаторы могут пропускать обновление.
  • skipDays — дни недели, в которые агрегаторы могут пропускать обновление.

Элементы записи (item)

Каждый элемент <item> представляет собой отдельную публикацию. Обязательных элементов у записи нет, но рекомендуется указывать хотя бы один из следующих:

  • title — заголовок записи.
  • link — URL полной версии записи.
  • description — краткое содержание или анонс (может содержать HTML-разметку).
  • author — адрес электронной почты автора записи.
  • category — категория записи.
  • comments — URL страницы с комментариями к записи.
  • enclosure — медиа-вложение (например, аудиофайл подкаста). Содержит атрибуты: url (ссылка на файл), length (размер в байтах), type (MIME-тип).
  • guid (globally unique identifier) — уникальный идентификатор записи (часто совпадает с link). Атрибут isPermaLink (по умолчанию true) указывает, является ли GUID постоянной ссылкой.
  • pubDate — дата публикации записи.
  • source — источник записи (используется при агрегации).

Пример RSS 2.0-ленты

``xml <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Пример новостного канала</title> <link>https://example.com</link>; <description>Новости из мира технологий</description> <language>ru</language> <pubDate>Mon, 01 Jan 2024 12:00:00 GMT</pubDate> <item> <title>Новая версия RSS 2.0</title> <link>https://example.com/news/rss-2-0</link>; <description>Вышло обновление формата синдикации.</description> <pubDate>Mon, 01 Jan 2024 10:00:00 GMT</pubDate> <guid>https://example.com/news/rss-2-0</guid>; </item> </channel> </rss> ``

Расширяемость и пространства имён

Поскольку спецификация RSS 2.0 является «замороженной», новые возможности добавляются через пространства имён XML. Это позволяет включать в ленту дополнительные данные без нарушения совместимости. Наиболее известные расширения:

  • Dublin Core (dc:) — добавляет метаданные, такие как автор, тема, дата создания (например, <dc:creator>Иван Иванов</dc:creator>).
  • content:encoded — используется для передачи полного HTML-содержимого записи (часто применяется в WordPress).
  • sy:updatePeriod и sy:updateFrequency — из спецификации Syndication для указания частоты обновления.
  • Media RSS (mrss:) — расширение для описания медиа-контента (видео, изображения, аудио).
  • iTunes RSS (itunes:) — спецификация Apple для подкастов, включающая теги для обложки, категорий, автора и длительности эпизода.

Применение

RSS 2.0 используется для:

  • Новостных агрегаторов — автоматического сбора заголовков и анонсов с различных сайтов.
  • Блогов и CMS — большинство систем управления контентом (WordPress, Joomla, Drupal) генерируют RSS-ленты по умолчанию.
  • Подкастов — RSS 2.0 с элементом enclosure является основой для распространения аудио- и видео-подкастов. iTunes и другие каталоги подкастов используют RSS-ленты для обновления эпизодов.
  • Мониторинга контента — сервисы отслеживания изменений на сайтах (например, Google Alerts) используют RSS.
  • Социальных сетей и платформ — некоторые платформы (например, Telegram через ботов) могут импортировать RSS-ленты для публикации новостей.

Критика и ограничения

Несмотря на широкое распространение, RSS 2.0 имеет ряд недостатков:

  • Отсутствие строгой валидации — спецификация не требует обязательного наличия каких-либо элементов у записи (item), что приводит к неполным или некорректным лентам.
  • Проблемы с датами — формат даты RFC 822 может быть неверно интерпретирован разными парсерами.
  • Ограниченная поддержка структурированных данных — для сложных метаданных (например, авторства, лицензий) необходимо использовать внешние пространства имён.
  • Конкуренция с Atom — формат Atom (RFC 4287) предлагает более строгую модель, встроенную поддержку XML-схем и лучше подходит для современных веб-приложений. Однако RSS 2.0 остаётся более распространённым благодаря исторической инерции.
  • Упадок использования — с ростом социальных сетей и алгоритмических лент количество пользователей RSS-агрегаторов сократилось, хотя технология продолжает применяться в профессиональной среде (например, в подкастинге и мониторинге СМИ).

Интересные факты

  • Название «RSS» расшифровывается по-разному в зависимости от версии: для RSS 0.91 — «Rich Site Summary», для RSS 2.0 — «Really Simple Syndication».
  • Спецификация RSS 2.0 была написана Дэйвом Винером и опубликована под лицензией Creative Commons Attribution-ShareAlike.
  • В 2010-х годах Google закрыл свой сервис Google Reader, что привело к значительному снижению популярности RSS среди массовой аудитории.
  • Формат RSS 2.0 используется в государственных информационных системах России, в частности, для публикации новостей на официальных сайтах органов власти.

Источники

  • Winer, D. (2002). RSS 2.0 Specification. Harvard Law School.
  • W3C. (2003). RSS 2.0 and Atom 1.0 Compared.
  • Pilgrim, M. (2004). The Myth of RSS Compatibility. O'Reilly Media.
  • Спецификация RSS 2.0 на сайте Harvard Law School (blogs.law.harvard.edu/tech/rss).
  • RFC 4287 — Atom Syndication Format.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →