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