Вопрос

У меня есть приложение, которое опрашивает несколько источников RSS в Интернете.

Каков этикет при опросе чужих веб-серверов?Как часто проводить опрос и т. д.?

Каковы лучшие практики?

Это было полезно?

Решение

<Ол>
  • Использовать кэш HTTP. Отправить Etag и LastModified заголовки. Признать 304 Not modified ответ. Таким образом, вы можете сэкономить много трафика. Кроме того, некоторые скрипты признают заголовок LastModified и возвращать только частичное содержание (то есть. Только два или три новых деталей, а не все 30 или так).

  • Не опрашивать RSS от услуг, который поддерживает RPC Ping ( или другие PUSH службы, такие как PubSubHubbub ). То есть если вы получаете уведомления PUSH от службы, не должен опрашивать данные в стандартном интервале - это сделать один раз в день, чтобы проверить механизм все еще работает или нет (пинг может быть отключен, перенастроить, повреждено, и т.д. ). Таким образом, вы можете получить RSS только при получении уведомления, не каждый час или около того.

  • Проверьте TTL (в RSS) или заголовки управления кэшем (Expires в ATOM), и не забирает, пока ресурс не истечет.

  • Попробуйте адаптироваться к частоте новых элементов в каждом отдельном RSS корме. Если на прошлой неделе было только два обновления, в частности корма, не забирает его более чем один раз в день. AFAIR Google Reader делает это.

  • Понизить скорость в ночное время или другое время, когда трафик на ваш сайт является низким.

  • В конце концов, это сделать один раз в час. ;)

  • Другие советы

    FeedFetcher от Google утверждает, что опрашивает RSS-канал чуть реже одного раза в час.

    От: http://code.google.com/apis/ajaxfeeds/documentation/

    Частота сканирования ленты

    Поскольку Google AJAX Feed API использует Feedfetcher, данные фида из AJAX Feed API не всегда могут быть актуальными.Сканер фидов Google («Feedfetcher») получает фиды с большинства сайтов реже, чем раз в час.Некоторые часто обновляемые сайты могут обновляться чаще.

    Что ж, я собираюсь пойти туда, игнорируя сообщения, в которых говорится: «Google говорит, мы делаем», и сказать:так часто, как вам действительно необходимо.

    RSS предназначен для того, чтобы держать вас в курсе событий.Если фид публикует 10 элементов в час, но показывает только пять, вы пропустите пять из этих элементов, и фид не будет служить своей цели.С таким же успехом ты мог бы вообще не попасть в него.

    Конечно, вы не можете забить сервер запросами, но если они публикуют достаточно информации, чтобы вы могли запрашивать их раз в минуту, я не понимаю, почему неразумно поддерживать эту скорость.

    Раз в час, если вы хотите просто следовать эмпирическому правилу (но ссылка объясняет некоторые лучшие варианты).

    Я слышал частоту раз в час.

    В Rss есть настройка TTL, поэтому на самом деле вам следует опрашивать только по истечении срока TTL.

    Но я думаю, если они не добавят его в список, это их проблема, и вам следует опрашивать примерно раз в час.

    Это не полный ответ, но обратите внимание на push-уведомления.

    RSS-блог указывает на то, что передовой практикой является вопрос weblogs.com об изменившихся блогах.

    Еще есть какой-то, э-э, шум по поводу пабсаб, способ подписаться на push-уведомления, имеющие некоторый импульс.

    Отмечу, что твиттер использует (кастомный) X-RateLimit-Remaining и X-RateLimit-Limit заголовки (в ответе HTTP), чтобы указать максимальное количество авторизованных опросов для каналов Atom.Как-то жаль, что не использовали стандарт Expires поле (действие которого происходит 30 лет назад :P) Я думаю, их реклама Cache-Control: no-cache также исключает общее эвристическое время истечения срока действия, определенное в RFC 2616 (раздел 13.2.*).Еще больше жаль, что Atom, похоже, не предоставляет какого-либо стандартизированного способа узнать, как часто предлагается опросить канал.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top