Спецификация oEmbed упоминает 2 различных способа поиска содержания oEmbed URL:
- Знание конечной точки API веб-сайта и передача ей через параметр GET URL-адреса, о котором вы хотите получить информацию, если он соответствует объявленному шаблону URL-адреса.
- Обнаружение URL версии oEmbed благодаря HTML-заголовку
<link rel="alternate" type="application/json+oembed" ... />
(илиtext/xml+oembed
).
Второй способ кажется более общим, так как вам не нужно хранить и поддерживать весь список поставщиков. Более того, списки провайдеров являются признаком централизованного интернета, в котором существует всего несколько действующих лиц. Этот подход трудно масштабировать.
Однако я вижу применение для первого подхода для веб-сайтов, которые могут анализировать ресурсы, предоставленные кем-то другим. Например, я могу предоставить oEmbed-версию видеостраниц с веб-сайта Foo. Однако по нескольким причинам, в основном связанным с безопасностью, я бы не стал доверять тому, кто говорит: «Я могу разобрать ресурс X для вас», если только автор X не согласен с этим, что возвращает нас к подходу 2.
Итак, мой вопрос: что я пропустил здесь? Какая польза от 1-го метода борьбы с oEmbed? Например, зачем хранить (и поддерживать в актуальном состоянии) целый список конечных точек и шаблонов как это делает oohEmbed, если у вас есть общий способ найти его на лету и практически для любого ресурса в Интернете?
В качестве очень тесно связанного вопроса, который, я думаю, можно задать одновременно (пожалуйста, поправьте меня, если я ошибаюсь): что произойдет, если не предоставить центральную конечную точку для содержимого oEmbed, а, скажем, ожидать Параметр '?version=oembed' в каждом URL-адресе, который возвращает версию oEmbed вместо стандартной?