解决方案
在 OpenSearch 之前,要把某个网站的搜索添加到浏览器或工具栏中,需要特殊处理:找到表单、推断查询参数,并祈祷页面不会发生变化。Amazon 的 A9 团队把这个问题简化为一个描述文件。
OpenSearch 1.1 草案定义了描述文档、query 元素、URL 模板语法和响应元数据。核心技巧是 URL 模板:客户端把搜索词代入已发布的模板,而不是对网站进行逆向工程。
MDN 将该格式记录为浏览器添加网站搜索引擎的一种方式。这正是该标准奏效的原因:网站所有者只需发布一次意图,每个浏览器或搜索客户端都能发现同一个接口。
它取得了什么
把搜索描述为一个 URL 模板
它为何奏效
XML 自动发现让网站可以从普通页面宣告搜索能力。
URL 模板同时覆盖了简单搜索和更丰富的搜索建议。
客户端可以忽略未知扩展,因此该格式能够发展而不破坏旧浏览器。
该标准使搜索集成成为一项发布任务,而不是与浏览器厂商的合作。
可以借鉴什么
当一个标准把最小可用的约定明确表达出来时,它就会传播开来:指明端点、指明参数,让每个客户端完成其余工作。
后续影响
OpenSearch 成为浏览器搜索插件和网站搜索发现的通用描述格式。它可见的足迹很小,但这种模式延续了下来:在网页旁边发布一份机器可读的约定,让客户端不再猜测。
从这里,追溯依据
参考来源
- OpenSearch 1.1 Draft 6 OpenSearch project · raw.githubusercontent.com
- OpenSearch description format MDN Web Docs · developer.mozilla.org