OpenSearch以前は、あるサイトの検索をブラウザやツールバーに追加するには特別な対応が必要だった。フォームを見つけ、クエリパラメータを推測し、ページが変わらないことを祈るしかなかった。AmazonのA9チームは、この問題を記述ファイル一つに還元した。

OpenSearch 1.1ドラフトは、記述ドキュメント、クエリ要素、URLテンプレート構文、レスポンスメタデータを定義している。核心となる仕掛けはURLテンプレートである。クライアントはサイトをリバースエンジニアリングする代わりに、公開されたテンプレートに検索語を代入する。

MDNはこの形式を、ブラウザがウェブサイトの検索エンジンを追加するための方法として文書化している。だからこそこの標準は機能した。サイト所有者が意図を一度公開すれば、あらゆるブラウザや検索クライアントが同じインターフェースを発見できたのである。

検索をURLテンプレートとして記述する

XMLオートディスカバリーにより、サイトは通常のページから検索機能を告知できた。

URLテンプレートは単純な検索と、より豊かな検索サジェストの両方をカバーした。

クライアントは未知の拡張を無視できたため、この形式は古いブラウザを壊すことなく成長できた。

この標準により、検索の統合はブラウザとの提携ではなく、公開作業になった。

標準は、最小限の有用な契約を明示したときに広まる。エンドポイントに名前を付け、パラメータに名前を付け、あとはすべてのクライアントに任せればよい。

OpenSearchは、ブラウザの検索プラグインとサイト検索のディスカバリーのための共通記述形式となった。目に見える足跡は小さいが、そのパターンは生き続けた。ウェブページのそばに機械可読な契約を公開し、クライアントが推測するのをやめさせるのである。

出典をたどる

出典

  1. OpenSearch 1.1 Draft 6 OpenSearch project · raw.githubusercontent.com
  2. OpenSearch description format MDN Web Docs · developer.mozilla.org