RSS — это семейство стандартов формирования XML-документа, в который сохраняется информация об обновлениях. (Этот документ называется потоком или фидом — от англ. feed — питание, кормить.) В подавляющем большинстве случаев речь идет об обновлении в новостной ленте, но в принципе это могут быть любые изменения. Впрочем, об этом мы поговорим чуть позже. Взаимоотношения между отдельными версиями RSS довольно запутаны. Представители семейства частично несовместимы друг с другом, но для конечного пользователя это практически не имеет значения — любая современная программа для работы с RSS понимает все его версии.
Формат Atom тоже предназначен для аггрегирования информации об обновлениях, в первую очередь с веб-сайтов.
Идея стандартизировать процесс оповещения о появлении новых данных и изменении существующих, а также ретрансляцию информации появилась давно. Прообразы современных стандартов синдикации начали разрабатывать еще в 1997 году.
Первым на сцену вышел RSS, разработанный легендарной компанией Netscape, которая использовала его для наполнения своего портала Netcenter. Вскоре RSS-ленты уже активно использовались для трансляции новостей на многих сайтах — в том числе таких крупных и авторитетных, как CNN, BBC, ZDNet, CNET, Forbes, Slashdot и многих других.
Дебютной версии RSS был присвоен номер 0.90. Однако стандарт, как сочли и пользователи, и эксперты, оказался слишком сложным и запутанным. Так что вскоре Netscape выпустила следующую, упрощенную версию RSS 0.91. Затем корпорация потеряла интерес к своему детищу. Разработку формата продолжила компания UserLand Software. К тому моменту у UserLand в активе была собственная схожая по задачам технология ScriptingNews, наработки из которой были включены в выпущенные вскоре версии RSS 0.92, 0.93, 0.94 и в итоге 2.0. Параллельно RSS-DEV Working Group развивала свою версию RSS и выпустила RSS 1.0, а затем и 1.1. В результате на сегодня существуют семь (!) версий RSS. Наиболее популярны 0.91, 1.0 и, конечно же, 2.0.
Подобная неупорядоченность и постоянные склоки в среде разработчиков и сторонников RSS неизбежно должны были привести к появлению конкурента. Им стала уже упоминавшаяся технология Atom, построенная на тех же принципах и с теми же целями, но изначально учитывавшая недостатки RSS, гораздо более четко стандартизованная и более функциональная.
Как ни странно, войны форматов не получилось: практически все аггрегаторы (программы для чтения фидов) поддерживают и Atom, и все версии RSS, так что пользователю все равно, в каком формате сайт умеет экспортировать данные [Конечно, это верно лишь отчасти: возможности форматов все-таки несколько различаются. — И.Щ.].
Бурное развитие RSS, больше похожее на триумфальное шествие, началось в 2003 году. Появлялось все больше сайтов, поддерживавших RSS и другие форматы синдикации, все привычнее становились блоги — а почти все блог-движки, будь то хостинговый LiveJournal или персональный WordPress, поддерживали RSS. Таким образом, рост числа блогов означал и рост числа фидов, дальнейшее развитие синдикации, появление программ для работы с потоками.
Успех, основы которого были заложены в 2003-м, стал очевиден уже на следующий год — количество фидов выросло многократно. Взгляните на график, он отчетливо показывает, как стремительно росла популярность формата. Его распространению способствовало и то, что появились программы, в которых функция чтения потоков RSS и atom была необязательным, но очень интересным дополнением. RSS-аггрегаторы (в том или ином виде) были добавлены в Mozilla Firefox, Opera и Safari. Теперь можно было познакомиться с новой технологией, не ставя каких-либо дополнительных программ. Да и появление первых онлайновых аггрегаторов позволило создавать на сайтах свою персональную новостную ленту, показывающую автоматически обновляемые новости из интересующих именно вас источников.
Вышло так, что самым ярым сторонником Atom стал Google, Microsoft же поддерживает RSS. Именно Atom используется в Blogger.com, Google News, Gmail и других сервисах поисковика. Google также развивает стандарт и вводит дополнения к нему. Так появился GData, формат, основанный на Atom. Именно GData используется в последних сервисах компании, таких как Google Calendar.
Microsoft стала далеко не первым, но, пожалуй, самым полезным сторонником RSS. Сначала корпорация завела фиды у себя на сайтах, потом ее разработчики решили расширить RSS. В 2005 году Microsoft представила расширение Simple Sharing Extensions, призванное превратить RSS в средство двусторонней синхронизации данных, то есть добавить в RSS функционал, уже присутствовавший в Atom. Правда, это расширение так и осталось бумажным тигром — приложений, использующих этот формат, я назвать не могу.
Поддержка RSS включена в готовящиеся Internet Explorer 7.0, Outlook и Windows Vista. RSS становится стандартом де-факто для автоматизированного обмена информацией.
Важным плюсом синдикации для разработчиков является тот факт, что потоки не накладывают ограничение на характер передаваемой информации и ее адресата. Через фиды вы можете информировать пользователей о чем угодно — о публикации новостей и статей, о появлении на ftp-сервере нового файла, об изменении страницы в wiki… да мало ли о чем еще! Главное, что произошло изменение, информация о котором вносится в фид.
Использование XML, формата гибкого и расширяемого, позволяет легко приспосабливать RSS и Atom под самые разнообразные задачи. Так, появление подкастов и видкастов поставило ту же проблему, что уже была решена для текстовой информации, — быстрая и максимально автоматизированная передача информации заинтересованному пользователю. Использование опционального элемента enclosure, описывающего подключаемый объект (аудиозапись, видеофайл, картинка), позволило распространять через RSS любой медиа-контент. Поддержка этого тега в программном обеспечении может сделать работу и вовсе прозрачной — пользователь может даже не догадываться, что данные передаются через RSS. Скажем, iTunes позволяет подписаться на RSS-фид с подкастом, просто перетащив ссылку в соответствующий раздел, и затем автоматически закачивать новые аудиозаписи на iPod.
XML-файл обновляется в тот же момент, когда появляется новая информация. При этом в фид записываются заголовок, описание и дата изменения (набор полей может варьироваться в зависимости от используемого стандарта и задачи, это лишь основные). Затем специальная программа или сервис, с заданной периодичностью проверяющие содержание потока, показывают пользователю, что же изменилось.
Информация об обновлении может использоваться как угодно — пользователь может прочесть эти данные на персонализированной «домашней странице» или в своем любимом аггрегаторе, будь то сервис в онлайне (скажем, BlogLines или «Яндекс.Лента»), на настольном компьютере (например, с помощью NewsGator или популярного открытого RSS Bandit) или на КПК (PocketRSS, PocketFeed и т. д.).
В качестве клиента для RSS-потока может выступать не только программа-аггрегатор конечного пользователя, но и специальный сервис, занимающийся публикацией информации на сайте. Если вы хотите разместить на своей странице, скажем, последние новости, курсы валют или сводки погоды, то RSS может оказаться самым подходящим решением, гораздо более мощным и гибким, нежели традиционные и давно привычные информеры. Для разработчиков особенно ценным может оказаться то, что информацию, полученную через фид, можно обработать как угодно и вывести именно в том виде, в каком вам необходимо. Посмотрите, например, на сайт FeedBurner.com: одна из его задач — показ RSS-фидов в удобном для конечного пользователя виде, так, чтобы RSS было легко прочесть без каких-либо дополнительных ухищрений непосредственно в браузере.