Название Atom относится к паре связанных веб-стандартов . Формат синдикации Atom — это язык XML , используемый для веб-каналов , в то время как протокол публикации Atom ( AtomPub или APP ) — это простой протокол на основе HTTP для создания и обновления веб-ресурсов. [1]
Веб-каналы позволяют программам проверять обновления, опубликованные на веб-сайте. Для предоставления веб-канала владелец сайта может использовать специализированное программное обеспечение (такое как система управления контентом ), которое публикует список (или «канал») последних статей или контента в стандартизированном, машиночитаемом формате. Затем канал может быть загружен программами, которые его используют, например веб-сайтами, которые синдицируют контент из канала, или программами чтения каналов, которые позволяют интернет-пользователям подписываться на каналы и просматривать их контент.
Лента содержит записи, которые могут быть заголовками, полными текстами статей, выдержками, резюме или ссылками на контент на веб-сайте, а также различные метаданные .
Формат Atom был разработан как альтернатива RSS . Бен Тротт , сторонник нового формата, который стал Atom, считал, что у RSS есть ограничения и недостатки, такие как отсутствие постоянных инноваций и необходимость сохранять обратную совместимость , и что в новом дизайне есть свои преимущества. [1]
Сторонники нового формата сформировали рабочую группу IETF Atom Publishing Format and Protocol. Формат синдикации Atom был опубликован как предложенный IETF стандарт в RFC 4287 (декабрь 2005 г.), а протокол публикации Atom был опубликован как RFC 5023 (октябрь 2007 г.).
Сообщество блогеров использует веб-каналы для обмена заголовками последних записей, полными текстами и даже прикрепленными мультимедийными файлами. [2] Провайдеры позволяют другим веб-сайтам включать «синдицированные» заголовки блога или каналы заголовков и краткого резюме в соответствии с различными соглашениями об использовании. По состоянию на 2016 год [обновлять]люди используют Atom и другие форматы веб-синдикации для многих целей, включая журналистику, маркетинг, отчеты об ошибках или любую другую деятельность, связанную с периодическими обновлениями или публикациями. Atom также предоставляет стандартный способ экспорта всего блога или его частей для резервного копирования или импорта в другие системы блогов.
Веб-каналы часто встречаются на крупных веб-сайтах, а также на многих более мелких. [ необходима цитата ] Некоторые веб-сайты позволяют пользователям выбирать между веб-каналами в формате RSS или Atom; другие предлагают только RSS или только Atom. В частности, многие блоги и вики- сайты предлагают свои веб-каналы в формате Atom.
Программа - читатель фидов или "агрегатор" может использоваться для проверки фидов и отображения новых статей. Клиентские программы- читатели могут также быть разработаны как отдельные программы или как расширения для существующих программ, таких как веб-браузеры .
Веб-ридеры и новостные агрегаторы не требуют установки программного обеспечения и делают "ленты" пользователя доступными на любом компьютере с доступом в Интернет. Некоторые агрегаторы синдицируют (объединяют) веб-ленты в новые ленты, например, берут все футбольные материалы из нескольких спортивных лент и предоставляют новую футбольную ленту.
Когда Atom появился как формат, призванный конкурировать с RSS или заменить его , CNET описал мотивацию его создателей следующим образом: « Противники Винера ищут новый формат, который прояснил бы неоднозначности RSS, объединил бы его многочисленные версии, расширил бы его возможности и попал бы под эгиду традиционной организации по стандартизации». [3]
Краткое описание некоторых отличий Atom 1.0 от RSS 2.0 было дано Тимом Бреем , сыгравшим важную роль в создании Atom: [4]
Спецификация RSS 2.0 основана на использовании временных меток в формате RFC 822 для передачи информации о том, когда элементы в ленте были созданы и последний раз обновлены. Рабочая группа Atom решила вместо этого использовать временные метки, отформатированные в соответствии с правилами, указанными в RFC 3339 (который является подмножеством ISO 8601 ; см. Приложение A в RFC 3339 для различий).
Хотя словарь RSS имеет механизм для указания человеческого языка для фида, нет способа указать язык для отдельных элементов или текстовых элементов. С другой стороны, Atom использует стандартный атрибут xml:lang, чтобы сделать возможным указание языкового контекста для каждого фрагмента контента, читаемого человеком, в фиде.
Atom также отличается от RSS тем, что поддерживает использование интернационализированных идентификаторов ресурсов , которые позволяют ссылкам на ресурсы и уникальные идентификаторы содержать символы за пределами набора символов US ASCII .
Элементы словаря RSS, как правило, не подлежат повторному использованию в других словарях XML . Синтаксис Atom был специально разработан для повторного использования элементов вне контекста документа ленты Atom. Например, нередко можно обнаружить элементы atom:link, используемые в лентах RSS 2.0.
Несмотря на появление Atom как предлагаемого стандарта IETF и решение крупных компаний, таких как Google , принять Atom, использование старых и более известных форматов RSS продолжается. Для этого есть несколько причин:
До создания Atom основным методом синдикации веб-контента было семейство форматов RSS.
Члены сообщества, которые считали, что в этом семействе форматов имеются существенные недостатки, не могли вносить изменения непосредственно в RSS 2.0, поскольку в официальном документе спецификации говорилось, что он был намеренно заморожен для обеспечения его стабильности. [8]
В июне 2003 года Сэм Руби создал вики для обсуждения того, что делает «хорошо сформированную запись в журнале». [9] Эта первоначальная публикация послужила точкой сплочения. [10] Люди быстро начали использовать вики для обсуждения нового формата синдикации, чтобы устранить недостатки RSS. Также стало ясно, что новый формат может стать основой для более надежной замены протоколов редактирования блогов, таких как Blogger API и LiveJournal XML-RPC Client/Server Protocol.
Целью проекта была разработка формата веб-синдикации, который: [11]
В короткие сроки была создана дорожная карта проекта [11] . Усилия быстро привлекли более 150 сторонников, включая Дэвида Сифри из Technorati , Мену Тротт из Six Apart , Брэда Фицпатрика из LiveJournal, Джейсона Шеллена из Blogger , Джереми Заводни из Yahoo , Тимоти Эппнела из O'Reilly Network , Гленна Отиса Брауна из Creative Commons и Лоуренса Лессига . Другие известные люди, поддерживающие Atom, включают Марка Пилигрима , Тима Брея , Аарона Шварца , Джои Ито и Джека Парка. [12] Кроме того, Дэйв Винер , ключевая фигура RSS 2.0, дал предварительную поддержку новому начинанию. [13]
После этого обсуждения стали хаотичными из-за отсутствия процесса принятия решений. У проекта также не было названия, предварительно использовались «Pie», «Echo», «Atom» и «Whatever» (PEAW) [14] , прежде чем остановиться на Atom. После выпуска снимка проекта, известного как Atom 0.2 в начале июля 2003 года, обсуждение было перемещено за пределы вики.
Затем обсуждение перешло к недавно созданному списку рассылки. Следующим и последним снимком на этом этапе стал Atom 0.3 , выпущенный в декабре 2003 года. Эта версия получила широкое распространение в инструментах синдикации, и в частности была добавлена в несколько связанных с Google сервисов, таких как Blogger, Google News и Gmail . API данных Google (бета) GData основаны на Atom 1.0 и RSS 2.0.
В 2004 году начались обсуждения о передаче проекта в орган по стандартизации, такой как Консорциум Всемирной паутины или Целевая группа по инжинирингу Интернета (IETF). В конечном итоге группа выбрала IETF, а рабочая группа Atompub [15] была официально создана в июне 2004 года, наконец, дав проекту устав и процесс. Сопредседателями рабочей группы Atompub являются Тим Брей (соредактор спецификации XML) и Пол Хоффман . Первоначальная разработка была сосредоточена на формате синдикации.
Формат синдикации Atom был выпущен как предлагаемый стандарт в IETF RFC 4287 в декабре 2005 года. Соредакторами были Марк Ноттингем и Роберт Сейр. Этот документ известен как atompub-format в терминологии IETF. Протокол публикации Atom был выпущен как предлагаемый стандарт в IETF RFC 5023 в октябре 2007 года. Два других проекта не были стандартизированы. [16]
Пример документа в формате синдикации Atom:
<?xml версия="1.0" кодировка="utf-8"?><feed xmlns= "http://www.w3.org/2005/Atom" > <title> Пример ленты </title> <subtitle> Подзаголовок . </subtitle> <link href= "http://example.org/feed/" rel= "self" /> <link href= "http://example.org/" /> <id> urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6 </id> <updated> 2003-12-13T18:30:02Z </updated> <entry> <title> Роботы на атомной энергии выходят из -под контроля </title> <link href= "http://example.org/2003/12/13/atom03" /> <link rel= "alternate" type= "text/html" href= "http://example.org/2003/12/13/atom03.html" /> <link rel= "edit" href= "http://example.org/2003/12/13/atom03/edit" /> <id> urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a </id> <published> 2003-11-09T17:23:02Z </published> <updated> 2003-12-13T18 :30:02Z </updated> <summary> Какой-то текст. </summary> <content type= "xhtml" > <div xmlns= "http://www.w3.org/1999/xhtml" > <p> Это содержимое записи . </p> </div> </content> <author> <name> Джон Доу </name> <email> [email protected] </email> </author> </entry> </фид>
Следующий тег необходимо поместить в заголовок HTML-документа, чтобы предоставить ссылку на канал Atom.
< ссылка href = "atom.xml" тип = "application/atom+xml" rel = "alternate" заголовок = "Канал Atom для всего сайта" />
сосредоточен вокруг так называемой Really Simple Syndication (RSS), технологии, широко используемой для синдицирования блогов и другого веб-контента. Спор сталкивает сотрудника юридического факультета Гарварда Дэйва Винера, пионера блоггинга, который является ключевым привратником RSS, с защитниками другого формата.