Введение

Веб-стандарты

Название Atom относится к паре связанных веб-стандартов. Формат синдикации Atom — это язык XML, используемый для веб-лент, а протокол публикации Atom (AtomPub или APP) — простой протокол на основе HTTP для создания и обновления веб-ресурсов. Сторонники нового формата создали рабочую группу IETF по разработке формата и протокола Atom. Формат синдикации Atom был опубликован как предлагаемый стандарт IETF в декабре 2005 года, а протокол публикации Atom — в октябре 2007 года.

Использование

Блогерское сообщество использует веб-каналы для обмена заголовками последних записей, полным текстом и даже прикрепленными мультимедийными файлами. Провайдеры позволяют другим веб-сайтам встраивать "синдицированный" заголовок блога или заголовок и краткое содержание в соответствии с различными условиями использования. Люди используют Atom и другие форматы веб-синдикации для множества целей, включая журналистику, маркетинг, сообщения об ошибках или любую другую деятельность, связанную с периодическими обновлениями или публикациями. Atom также предоставляет стандартный способ экспорта всего блога или его частей для резервного копирования или импорта в другие системы ведения блогов. Веб-каналы обычно можно найти на крупных сайтах, а также на многих небольших. Некоторые веб-сайты позволяют пользователям выбирать между веб-каналами в формате RSS или Atom, другие предлагают только RSS или только Atom. В частности, многие блоги и вики-сайты предлагают свои веб-каналы в формате Atom. Для проверки каналов и отображения новых статей можно использовать программу для чтения каналов или "агрегатор". Клиентские программы для чтения также могут быть разработаны как автономные приложения или как расширения для существующих программ, таких как веб-браузеры. Веб-агрегаторы и читатели новостей не требуют установки программного обеспечения и делают "каналы" пользователя доступными на любом компьютере с доступом в Интернет. Некоторые агрегаторы синдицируют (объединяют) веб-каналы в новые каналы, например, собирая все новости о футболе из нескольких спортивных каналов и предоставляя новый футбольный канал.

Atom по сравнению с RSS 2.0

Когда Atom появился как формат, призванный конкурировать с RSS или заменить его, CNET описал мотивацию его создателей следующим образом: "Противники Вайнера стремятся к новому формату, который устранил бы неоднозначности RSS, объединил бы его различные версии, расширил бы его функциональность и находился бы под контролем традиционной организации по стандартизации". Тим Брей, сыгравший ключевую роль в создании Atom, представил краткое описание некоторых различий между Atom 1.0 и RSS 2.0:

Формат даты

Спецификация RSS 2.0 использует форматированные метки времени для передачи информации о дате создания и последнего обновления элементов в ленте. Рабочая группа Atom предпочла использовать метки времени, отформатированные в соответствии с правилами, описанными в (являющемся подмножеством ISO 8601; различия см. в Приложении A к RFC 3339).

Интернационализация

В то время как в словаре RSS предусмотрен механизм для указания языка ленты, нет возможности указать язык для отдельных элементов или текстовых фрагментов. Atom, в отличие от RSS, использует стандартный атрибут xml:lang, что позволяет задавать языковой контекст для любого элемента контента, предназначенного для чтения человеком, в ленте. Кроме того, Atom отличается от RSS поддержкой интернационализированных идентификаторов ресурсов (IRI), позволяющих включать в ссылки на ресурсы и уникальные идентификаторы символы, не входящие в набор символов US-ASCII.

Модульность

Элементы словарного запаса RSS обычно не предназначены для повторного использования в других XML-словарях. Синтаксис Atom был разработан специально для того, чтобы элементы можно было повторно использовать за пределами контекста документа Atom. Например, часто можно встретить элементы atom:link, используемые в RSS 2.0-каналах.

Препятствия для усыновления

Несмотря на то, что Atom стал предложенным стандартом IETF и крупные компании, такие как Google, приняли его поддержку, использование более старых и известных форматов RSS продолжается. Этому есть несколько причин:

Поддержка в RSS 2.0 элементов вложений (enclosures) напрямую привела к развитию подкастинга. Хотя многие приложения для подкастинга, такие как iTunes, поддерживают Atom 1.0, RSS 2.0 остается предпочтительным форматом. Многие сайты предпочитают публиковать свои каналы только в одном формате. Например, CNN и The New York Times предлагают свои веб-каналы только в формате RSS 2.0. В новостных статьях о веб-синдкации термин "RSS" все чаще используется для обозначения любых вариантов форматов RSS, таких как RSS 2.0 и RSS 1.0, а также формата Atom.

Предыстория

До создания Atom основным способом распространения веб-контента была группа форматов RSS. Члены сообщества, считавшие, что в этих форматах есть существенные недостатки, не могли напрямую вносить изменения в RSS 2.0, так как официальная спецификация указывала на намеренную "заморозку" стандарта для обеспечения его стабильности.

Atom 0.3 и принятие Google

Затем обсуждение перешло к недавно созданному списку рассылки. Следующим и заключительным снимком на этом этапе стал Atom 0.3, выпущенный в декабре 2003 года. Эта версия получила широкое распространение в инструментах для распространения контента, и, в частности, была интегрирована в несколько сервисов Google, таких как Blogger, Google News и Gmail. Data APIs (Beta) GData от Google основаны на Atom 1.0 и RSS 2.0.

Atom 1.0 и стандартизация IETF

В 2004 году начались обсуждения о передаче проекта в организацию по стандартизации, такую как World Wide Web Consortium или Internet Engineering Task Force (IETF). В конечном итоге группа выбрала IETF, и рабочая группа Atompub была официально создана в июне 2004 года, что позволило проекту получить устав и регламент. Рабочей группой Atompub совместно руководят Тим Брей (соавтор спецификации XML) и Пол Хоффман. Первоначальная разработка была сосредоточена на формате синдикации. Формат синдикации Atom был опубликован как Предлагаемый стандарт в IETF в декабре 2005 года. Соавторами были Марк Ноттингем и Роберт Сэйр. В терминологии IETF этот документ известен как формат atompub. Протокол публикации Atom был опубликован как Предлагаемый стандарт в IETF в октябре 2007 года. Два других варианта не были стандартизированы.

Включая в HTML

Следующий тег следует разместить в заголовке HTML-документа для обеспечения ссылки на Atom-канал. <link href="atom.xml" type="application/atom+xml" rel="alternate" title="Общий Atom-канал" />