Большинство потребителей синдикационных фидов ожидают, что фид будет содержать относительно недавний контент с ранее опубликованным контентом, который «падает» из фида. Количество содержимого, которое вы поддерживаете в фиде, обычно зависит от типа контента, который вы публикуете, но с ростом размера фида это может повлиять на способность клиентов фида получать и анализировать вашу информацию.
Если вы действительно хотите опубликовать хронологический канал, который постоянно добавляется, но никогда не удаляет элементы контента, вы можете рассмотреть следующие варианты (в зависимости от потребностей ваших потребителей):
- Реализация Пейджинг и архивирование фидов , в соответствии с RFC 5005 Раздел 3 , поскольку пейджинговые фиды могут быть полезны, когда количество записей очень большое, бесконечное или неопределенное. Клиенты могут «просматривать» ленту новостей, получая доступ только к подмножеству записей ленты, если это необходимо.
- Логически сегментируйте ваш контент на несколько каналов и предоставьте автообнаружение каналам на вашем сайте.
- Реализация интерфейса службы на основе REST, позволяющего потребителям извлекать и фильтровать ваш контент в виде канала в формате Atom или RSS с представлением по умолчанию с некоторыми разумными значениями по умолчанию.
Вариант 1 - разумный подход, только если вы знаете тип клиентов фидов, которые будут использовать ваш фид, поскольку не все клиенты фидов поддерживают разбиение на страницы.
Опция 2 является наиболее распространенной среди общедоступных веб-сайтов, так как большинство браузеров и клиентов поддерживают автоматическое обнаружение, и вы можете предоставить как полную хронологическую ленту, так и меньшую более свежую ленту контента ( или сегментируйте так, чтобы это имело смысл для вашего контента).
Опция 3 потенциально позволяет вам использовать преимущества обоих первых двух вариантов, плюс вы можете предоставить несколько форматов каналов и расширенную фильтрацию вашего контента. Это очень эффективный способ раскрытия содержимого фида, но обычно оно того стоит, если ваши потребители хотят настроить содержание фида, которое они хотят потреблять.
В то время как большинство клиентов с расширенным доступом к каналам будут извлекать содержимое канала асинхронно, клиенты, выполняющие синхронные (и потенциально частые) запросы на ваш канал, могут испытывать проблемы с превышением времени ожидания при увеличении размера вашего канала.
Независимо от того, в каком направлении вы идете, рассмотрите возможность применения Условного GET в ваших каналах; и понять потенциальных потребителей вашего синдицированного контента, чтобы выбрать наиболее подходящую стратегию. См. этот ответ , когда вы узнаете, какие форматы каналов синдикации вы хотите предоставить.