スコーププロトコル仕様

コメントがあれば、habrpostで翻訳を書いたことはありません。



本日、Scopeプロトコル仕様をご紹介します。 このプロトコルはOperaをDragonflyデバッガーと通信するために使用されます。 また、ブラウザの自動テストのためにOperaによって使用されます



最初から、私たちはDragonflyをオープンソースプロジェクトにしようと試みました。 すべてのコードドキュメントはBSDライセンスの下で利用できますが、プロトコル仕様がなければ、サードパーティの開発者が新しいものを作成したり、既存のものを変更したりすることは困難でした。 このリリースの目的は、この欠点に対処することです。



ドキュメントは、チーム内で使用したドキュメントとほぼ同じです。これは、チームがそれがどのように機能するかをすべて知っているという理由だけで何かが見落とされる可能性があることを意味します。 このようなギャップに遭遇した場合は、コメント (元の記事のコメントへのリンク) お知らせください。



現在仕様をリリースしている理由の1つは、他のブラウザメーカーがリモートデバッグについて考え始めているためです。 当初からこれがDragonflyに焦点を当てていたので、経験とアイデアを他の人と共有したいと考えています。



仕様は2つの部分に分かれています。 Scope Transfer Protocol 0(STP / 0)と呼ばれる現在の実装は、XMLに基づいています。 DOMツリーなど、大量のデータを転送する必要がある場合、このオプションは非常に遅いという結論に達しました。 XMLベースのプロトコルの利点の1つは、XMLHTTPRequestsを使用してクライアント側で簡単に実装できることです。 また、追加のツールなしで、視覚的に簡単に認識されます。



次世代プロトコルであるSTP / 1は、現在取り組んでいるものです。 ほとんどの場合、実装はまだ準備ができていませんが、できるだけ早くリリースします。 この時点まで、変更は引き続き発生する可能性があります。 プロトコルは引き続きXMLをサポートしますが、データを転送するための2つの方法を追加しました: JSONおよびProtocol Buffers 。 3つの場合すべてのデータ自体は同じで、単純に異なる構造で送信されます。 つまり、ほとんどの場合、既存のXMLベースのユーティリティを変更せずに、パフォーマンスを向上させるためにプロトコルバッファーに切り替えるか、JSONに切り替えることができます。



次のリリースは、STP / 1をサポートするOperaのアセンブリと、STP / 1の使用を開始するのに役立つツールです。



読書をお楽しみください!



All Articles