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