14章ブラウザネットワーク入門

モダンブラウザは、速く効率的で安全なWebアプリケーションを提供するために特別にデザインされたプラットフォームです。その内部は、プロセス管理、セキュリティサンドボックス、最適化キャッシュのレイヤー、JavaScriptバーチャルマシン、グラフィックレンダリングとGPUアクセラレーション、ストレージ、センサー、音声と動画、ネットワークなど数百のコンポーネントによって構成される、ほぼOSのようなものです。

ブラウザとその上で動作するアプリケーションの総合的なパフォーマンスは、ドキュメント構文解析、レイアウト、HTMLとCSSのスタイル計算、JavaScriptの実行速度、レンダリングパイプライン、そしてネットワークスタックなど、数々の要素によって決定されます。これらの要素はそれぞれ重要な役割を果たしますが、中でもネットワークは他の2倍程度重要な役割を果たします。なぜなら、ブラウザにおいては、ネットワークがブロックされリソースが到着しない場合、他のすべてのステップがブロックされてしまうからです!

モダンブラウザのネットワークスタックは単なるソケット管理を超越しているという事実に驚くべきではありません。外見上はシンプルなリソース取得メカニズムのように振舞っているかもしれませんが、内部では自身の最適化基準やAPI、サービスを持ったプラットフォームなのです(図14-1)。

Webアプリケーションを設計する際には、TCPやUDPソケットを考慮する必要はありません。ブラウザが管理してくれます。ネットワークスタックは正しい接続制限を適用し、リクエストをフォーマットし、それぞれのアプリケーションをサンドボックス化し、プロキシを取り扱い、キャッシュを行うなど、すべての面倒を見てくれます。これらの機能による複雑さを考慮する必要がないので、アプリケーションは自身のロジックに集中できます。 ...

Get ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.