マサチューセッツ工科大学(MIT)の研究チームが、ウェブブラウザーのページ表示速度を最大34%も高速化するというフレームワークを開発しました。これまでにあるようなデータを圧縮転送するしくみではなく、"予習"によってウェブサーバーとのやり取りを効率化する方式です。

最近のウェブページは HTML データに画像を組み合わせるだけでなく、CSS や Javascript、さらにクラウドフォントや動画データ、広告など、それぞれ異なるサーバーからページ構成要素をかき集めて表示しています。このためたった1枚のウェブページを表示するにも、あちこちのサーバーと送受信が発生し、高速なネットワーク環境にもかかわらず表示完了までにそこそこ時間がかかることもあります。

通常のウェブサーバーへのアクセスは、まずブラウザーが HTTP 要求を送り、それに対応する HTML ページをブラウザーに返します。ブラウザーは HTML ファイルに記述された構造と、HTML 以外の構成要素となる別ファイルをそれぞれの保存場所から取得します。
MIT が開発したフレームワークは、ブラウザーからの HTTP 要求に応じた HTML ページと、あらかじめ生成しておいたページ構成要素の依存ツリーを記す「Scout」と呼ばれる情報を添付。さらに Javascript 製のスケジューラーモジュール「Polaris」をまとめてブラウザーに返します。



ブラウザーが Polaris を実行すると、Scout に書かれたオブジェクトの依存ツリーをもとにして、最適な順序で各オブジェクトを取得、ウェブページを描画します。MIT は、この方式が既存のウェブアクセス高速化技術のように通信データを圧縮するのとは根本的に異なることを強調しています。

圧縮方式は低速な回線ならある程度の効果があるものの、4G や 5G 回線のように充分な帯域幅がある場合、期待したほどの高速化が得られないとのこと。一方、ウェブページ表示のための一連の手順書をあらかじめ準備しておくこのフレームワークは、ブラウザーとウェブサーバーの間で何度も発生するやり取りを整理・効率化して、ページ全体の読み込み時間を短縮することが可能となります。

スマートフォン時代のウェブアクセスでは、ミリ秒単位で遅延があるとユーザーはさっさと他のページへ移動してしまうとされます。MIT はこのフレームワークを 25~500ms のレイテンシー、1~25Mbps の通信環境でテストし、従来のウェブアクセスに比べて最大34%の高速化が確認できたとしています。

我々はディズニーランドや USJ に遊びに行くとき、待ち時間をできるだけ短くするために前もってアトラクションを回る順番を計画しておいたりします。MIT のウェブページ高速化フレームワークも、あらかじめアクセスする順番を"予習"しておくという点では、よく似た考え方と言えるかもしれません。

なお MIT は今後、このフレームワークをオープンソース化することを考えています。もし Chrome などメジャーなブラウザーへの組み込み話が来るなら、それも「大歓迎」とのこと。

論文は Polaris : Faster Page Loads Using Fine-grained Dependency Tracking  : Ravi Netravali , Ameesh Goyal , James Mickens , Hari Balakrishnan

[Images : mybulldog/Flickr, MIT]
ウェブページ読み込みを最大34%速くするフレームワーク、MITが開発。「予習資料」でデータ取得の待ち時間短縮
広告

0 コメント

広告