ブラウザは、Web ページ、画像、動画、その他のファイルなど、World Wide Web 上のコンテンツを検索、取得、表示するために使用するソフトウェア アプリケーションです。 クライアント/サーバー・モデルとして、ブラウザはコンピュータ上で実行されるクライアントであり、ウェブ・サーバーに連絡して情報を要求します。
今日のブラウザは、HTML Web ページ、アプリケーション、JavaScript、AJAX、および Web サーバーでホストされているその他のコンテンツを解釈して表示できる、完全に機能するソフトウェアスイートです。
多くのブラウザーは、マルチメディア情報 (サウンドやビデオを含む) を表示できるようにソフトウェアの機能を拡張するプラグインを提供しており、またブラウザーはビデオ会議などのタスクを実行したり、Web ページのデザインやフィッシング防止フィルターやその他のセキュリティ機能の追加に使用することができます。 ユーザー インターフェイスは、ユーザーがブラウザーと対話する空間です。 アドレスバー、戻る、次のボタン、ホームボタン、更新と停止、ブックマーク・オプションなどがあります。
ブラウザ エンジン:ブラウザ エンジンは、ユーザー インターフェイスとレンダリング エンジンの間でブリッジとして機能します。 さまざまなユーザー インターフェイスからの入力に従って、レンダリング エンジンに問い合わせ、操作します。
レンダリング エンジン:レンダリング エンジンは、その名前が示すように、ブラウザの画面に要求された Web ページを表示する役割を果たします。 レンダリング エンジンは、HTML、XML ドキュメント、および CSS を使用してフォーマットされた画像を解釈し、ユーザー インターフェイスに表示されるレイアウトを生成します。 ただし、プラグインや拡張機能を使用することで、他の種類のデータも表示させることができます。
ブラウザによって、異なるレンダリング エンジンが使用されています。 Trident
-
Networking: HTTP または FTP の一般的なインターネット プロトコルを使用して URL を取得する、ブラウザのコンポーネントです。 ネットワーキング・コンポーネントは、インターネット通信とセキュリティのすべての側面を処理します。 ネットワーク コンポーネントは、ネットワーク トラフィックを削減するために、取得したドキュメントのキャッシュを実装することができます。 これは、ウェブサイトに埋め込まれた javascript コードを解釈し、実行するブラウザのコンポーネントです。 解釈された結果は、レンダリング エンジンに送信され、表示されます。 スクリプトが外部の場合、まずネットワークからリソースを取得する。 パーサーは、スクリプトが実行されるまで待機します。
-
UI バックエンド。 UI バックエンドは、コンボボックスやウィンドウのような基本的なウィジェットを描画するために使用されます。 このバックエンドは、プラットフォームに依存しない一般的なインターフェイスを公開します。 その下で、オペレーティング システムのユーザー インターフェイス メソッドを使用します。
-
Data Persistence/Storage。 これは永続化レイヤーです。 ブラウザは localStorage、IndexedDB、WebSQL、FileSystem などのストレージ機構をサポートしています。 これは、ブラウザがインストールされているコンピュータのローカルドライブに作成される小さなデータベースです。 キャッシュ、クッキー、ブックマーク、プリファレンスなどのユーザー データを管理します。
ここで注意すべき重要な点は、Google Chrome などの Web ブラウザでは、各タブが個別のプロセス(レンダリング エンジンの複数のインスタンス)で実行されることです。