2009-12-29 2 views

ответ

3

Это тянуть. Вот почему вы должны настроить своего читателя, как часто он должен обновлять фид.

9

RSS - это технология тяги. Читатель повторно выбирает канал RSS сейчас (например, два раза в час или чаще, если читатель узнает, что это часто обновляемый фид).

Канал подается через обычный HTTP и состоит из простого XML-файла.

+1

Вопрос в том, как читатель знает, что есть обновление? Постоянно ли читает одни и те же каналы? Как он знает, что есть обновление и не перезагружать то, что уже видели? –

10

Он просто регулярно проверяет канал для обновления.

В последнее время существует новый протокол, называемый pubsubhubbub, чтобы сделать подачу подачи на слушателя. Но это требует от издателей поддержки.

Here список веб-службы поддержки в режиме реального времени RSS толкания, в том числе Google Reader, Blogger, FeedBurner, FriendFeed, MySpace и т.д.

24

RSS это формат файл source и на самом деле не знает что-нибудь о том, откуда он получает записи. Ответ на самом деле: «Как может HTTP-запрос получить только самые новые результаты с сервера», а ответ Условный GETsource. Http также поддерживает Условный PUT.

This is an article об использовании этой функции http специально для поддержки rss-хакеров.

+0

Awesome. В этой статье я подхожу к терминологии RSS, которую я искал: «Условный GET». И этот термин заставляет меня найти то, что я искал в документах Python для feedparser. Еще раз спасибо! Каждый должен ответить +1! –

5

Давайте подведем итог:

  • Обычно, клиент знает, что RSS фид обновляется через опрос, который регулярно тянуть (HTTP GET запрос на URL подачи)
  • Нажмите не существует на в сети, по крайней мере, не с HTTP до HTML5 websocket.
  • Однако некоторые рамки блога, такие как Wordpress, Google и другие, теперь поддерживают соглашение pubsubhubbub. В этом режиме вы будете «подписываться» на обновления потока RSS. «Хаб» будет вызывать URL-адрес на вашем сайте (обратный URL-адрес) для отправки вам обновлений: это толчок.

Push или pull, в обоих случаях вам все равно нужно написать часть кода для обновления списка RSS на вашем сайте, в базе данных или в любом месте, где вы храните/показываете его.

И в качестве побочного вопроса нет необходимости запрашивать весь XML при каждом нажатии, чтобы увидеть, изменилось ли содержимое: с использованием стандарта, который не связан с RSS, а глобальный по всему протоколу HTTP (etag and last-modified headers), вы можете узнать, была ли изменена страница RSS после заданной даты и захватить весь XML только в том случае, если он изменен.

Смежные вопросы