Что такое технология RSS?
Технология RSS (и близкая к ней, но менее популярная технология Atom) получила широкое распространение вместе с блогами.
Представим такую ситуацию.
Человек по роду деятельности или убеждениям постоянно черпает информацию на блогах или блогообразных сайтах. Посты на каждом из них появляются в среднем от нуля до десяти раз в день. Самих блогов за все время человек открыл для себя уже не менее тридцати. Пополняется каждый из них достаточно неравномерно: то весь день каждый час по записи, то молчание круглые сутки. Тем не менее, новости нужны, и приходится постоянно проверять эти сайты на предмет обновления. В этом случае как нельзя кстати оказываются каналы новостей, частным проявлением которой является технология RSS.
Суть технологии заключается в следующем. На сайте, поддерживающем каналы новостей, хранится текстовый файл с расширением .rdf, .rss или .xml (опыт показывает, что и другие варианты возможны). В нем в строго определенном формате, о котором речь пойдет чуть ниже, хранится информация, размеченная тэгами. Файл структурирован в формате XML, о чем говорится в его DTD (см. словарь в конце книги).
Кроме обязательной «технической» информации в файле хранится то, ради чего такие файлы и используются: новости. Каждая новость — это элемент общего массива новостей. В свою очередь, каждый из элементов подразделяется еще на несколько элементов: заголовок новости, описание, адрес ссылки, дата опубликования (без этих элементов не обойтись) и некоторые другие параметры. Каждый из этих элементов также оформляется тэгами.
Файл текстовый, а значит, его можно обновлять как вручную, так и динамически. Вручную — это значит, что его можно открыть в текстовом редакторе «блокнотного» типа (подойдут любые текстовые редакторы, которые вы используете для написания кода), изменить там данные и загрузить файл на сервер. Динамическое обновление RSS-файлов удобнее: вы загружаете новость на сайт через определенную форму, а сценарий записывает те же данные, но в другом формате, в RSS-файл, так что последний оказывается обновленным.
Итак, в сети оказывается обновленный файл. Дальше на арену выходят агрегаторы. Строго говоря, они и не уходили, а постоянно посылали запросы на сервера, чтобы проверить обновления RSS-файлов. При наличии изменений в RSS-файлах по сравнению с прошлой проверкой эти изменения форматируются в соответствии с правилами агрегатора и выводятся на экран. Если файл не менялся, в агрегаторе ничего не происходит. В качестве агрегаторов могут выступать: браузеры, плагины к различным программам, специальные программы и серверные сценарии.
Среди современных популярных браузеров RSS-потоки поддерживают Opera, Firefox и Safari, а Internet Explorer — только с седьмой версии. (К слову, загрузка каналов новостей поддерживается в операционной системе Windows версии Vista, технология позволяет просматривать свежие новости не уходя с «рабочего стала»).
Во многих программах, связанных с интернетом (например, в ICQ-клиенте Miranda свежих версий), также есть поддержка потоков: для этого обычно нужно установить расширение (плагин) для программы. Браузер Firefox имеет не такой удобный «фидридер» (агрегатор новостей), как, например, Opera, и для него написано несколько расширений, выполняющих ту же задачу, но элегантнее, например, Sage. Встроенная поддержка чтения RSS-лент есть в почтовой программе Mozilla Thunderbird.
Для чтения новостей с помощью TheBat!, нужен плагин RSS2Mail. Из самостоятельных агрегаторов-приложений можно отметить бесплатные Omea Reader, Abilon и платный FeedDemon. Наконец, для использования RSS-лент на своем сайте можно использовать сценарии на любом языке серверных сценариев: для этого файл с новостями импортируется с другого сервера (функции включения файлов есть везде), с помощью XML-агрегаторов или собственного сценария файл разбирается по тэгам, рансформируется в нужный HTML-код, и лента оказывается на страницах сайта.
Есть также масса сайтов, которые позволяют импортировать ленты RSS: из отечественных один из самых популярных — http://lenta.yandex.ru. Используя одно из этих средств, можно читать сколь угодно RSS-потоков в одном месте, значительно экономя трафик и время. Все тридцать блогов, на которых появляется до трех сотен сообщений в день, собираются в одном месте.