2018/09/06: Noembed 2018/08/21: 当前同类协议有 oEmbed, Open Graph, Twitter Cards. 另外, embed.ly(meduim在用), iframely 提供服务以支持多种协议.
当在 twitter / slack 等应用上分享一个链接(如 https://slack.com) 时, 会展示成这样:
是否有想过:
- 图片总的
标题
是如何拿到的? 抓取网页后解析title
标签吗? - 图片中的
简介
是如何拿到的? 解析<meta name="description"
吗? - 图片中的
图片
地址是如何拿到的?
想要了解背后的原理, 可以直接查看: The Open Graph protocol.
本质上 标题
/简介
/图片
等信息都是从 <meta property="og:XXX"
标签中解析获取. 常用的有:
og:site_name
: 网站名
og:description
: 网站简介
og:image
: 网站的logo或其他任意图片.
比如示例中的 slack 的首页:
Open Graph protocol 还定义了诸如 音频/视频 等信息的定义, 具体规范参见 官方网站.