ウェブブラウザ

**ウェブブラウザ**（**インターネットブラウザ**、web browser）とは、パソコンやスマートフォン等を利用してWebサーバに接続するためのソフトウェアであり、ウェブページを表示したり、ハイパーリンクをたどったりするなどの機能がある。単に**ブラウザ**（ブラウザー）とも呼ばれる。

主なウェブブラウザとして、Google Chrome、Safari、Microsoft Edge、Mozilla Firefox、Opera、Internet Explorer、Vivaldi等がある。Windows 7など古いOSではサポートが終了しているものがある。

## 構造と動作
大まかに言うと、ウェブブラウザには以下の3つの機能がある。
* HTTPによりサーバと通信し、コンテンツを取得する。接続先を指定する際には、Uniform Resource Identifier（URI）を使用する。
* 取得したコンテンツに対して、その種類（HTML/XHTML/XML、文書、画像等）に応じた構文解析を行う。
* 構文解析の結果を基に文字や画像を適切に配置し、あるいは文字の大きさを調整したり色を付けるなどして描画する。

取得したHTMLは、ウェブブラウザのレイアウトエンジンに渡され、マークアップからインタラクティブな文書に変換される。Flashアプリケーションや Javaアプレットに対応するプラグインが用意されている場合は、それらを表示・実行することができる。未対応の種類のファイルに遭遇した場合は、ダウンロードして保存するか、他のプログラムを起動して開こうとする。

HTMLには、他のコンテンツへのハイパーリンクを記載することができる。リンクにはURIが含まれており、リンクをクリックすると、ウェブブラウザはそのURIで示されるコンテンツを取得する。

## サーバ等への接続方法
例えば、ブラウザのロケーションバーに**'と入力したとする。[[Uniform Resource Locator]]（URL）のプレフィックスである[[URIスキーム]]によってURLをどう解釈するかは決まっている。古典的なURLは定義名 ''http:''で始まり、[[Hypertext Transfer Protocol]]（HTTP）を使用してサーバに接続する。必須要件ではないが、多くのウェブブラウザは様々な定義名に対応しており、[[HTTPS]]用の''https:''、[[File Transfer Protocol]]用の''ftp:''、内部ファイル用の''file:''などとも接続できる。

ウェブブラウザが直接扱えない定義名は、ブラウザ内部で定義された、他のアプリケーションにそのまま渡されることが多い。例えば、''mailto:''で始まる[[Uniform Resource Identifier|URI]]は既定の[[電子メールクライアント]]に渡され、''news:''で始まるURIは既定の[[ニュースグループ]]リーダに渡される。OSのシェルがURIスキームを解釈しウェブブラウザなど適切なアプリケーションに渡される場合もある。

== 機能 ==
ウェブブラウザの機能は、最小限の文字を用いた[[ユーザインタフェース]]（UI）から、多様なファイル形式や[[通信プロトコル|プロトコル]]に対応する高機能なものまで幅広い。[[電子メール]]、[[ネットニュース]]、[[Internet Relay Chat]]（IRC）等に対応するコンポーネントを含むウェブブラウザは「[[インターネットスイート]]」と呼ばれることもある。

主要なウェブブラウザは同時に複数の情報リソースを扱うことができ、別窓で表示したり、[[タブ (GUI)|タブ]]を使って同じウィンドウ内に表示したりする（[[タブブラウザ]]）。また、表示したくない[[ポップアップ広告]]を自動的にブロックする機能もある。

ユーザが[[ブックマーク]]したウェブページの一覧を表示する機能があり、素早くそれらのウェブページに戻ることができる。ブックマークは[[Internet Explorer]]では「お気に入り」と呼ぶ。さらに、[[フィードリーダー|フィードリーダ]]が組み込まれているウェブブラウザも多い。[[Mozilla Firefox|Firefox]]では[[フィード]]は"live bookmarks"という形式で扱われ、フィードにおける最近の項目と対応するブックマークのフォルダのように機能する。[[Opera]]ではフィードの内容を格納し表示する従来型のフィードリーダを採用している。
=== ユーザインタフェース（UI） ===
多くの主要ウェブブラウザのUIには、以下のような共通の要素がある。

* 「前へ／次へ」のボタン。前のリソースに戻るボタンと次のリソースに進むボタンである。一部では一つに統合されているものもある。
* 「更新」のボタン。現在のリソースを再ロードする。
* 「中止」のボタン。リソースの読み込みを取り消す。一部では「更新」ボタンと統合されている。
* 「ホーム」のボタン。指定した[[ホームページ]]に戻る機能を提供する。
* [[アドレスバー]]は、Uniform Resource Identifier（URI）の入力のためにあり、入力された URI が指すリソースを表示する。検索バーと統合されている場合もある。
* 検索バーは[[検索エンジン]]への入力のためにある。アドレスバーと検索バーが統合されている場合もある。
* サイドバー - ブラウザによって名称は異なる。ウィンドウの左端・右端などにあり表示/非表示を切り替えられる。頻繁に使うが常に表示するほどではない要素（ブックマーク・履歴など）に簡単にアクセスできるようにしている。
* [[ステータスバー]]はリソースの読み込み状況を表示したり、カーソルの位置にあるリンクのURIを表示したり、ページの拡大機能を提供したりする。
* ブラウザによっては[[スキン (GUI)|スキン]]で外観を変更できる。

主要なウェブブラウザはウェブページ内の[[インクリメンタルサーチ|インクリメンタル検索]]機能も持っている。

多くのタブブラウザには以下のような共通の要素がある。
* タブバー - 複数開いているタブを切り替える。タブをピン留めする・グループ化するなどの管理機能を持つものもある。
* 新しいタブ - タブブラウザで新しいタブを開いた時、単にホームページや空白のページが表示される場合もあるが、Opera 9.2で導入された「スピードダイヤル」を皮切りに多くのブラウザで様々な機能が提供されるようになった。登録したページ（ブックマーク）や頻繁に表示したページの一覧など。

2000年代末期、Google Chromeの登場や画面解像度が低い[[ネットブック]]の普及などに伴い、UIを整理してページの表示領域を極力拡大する傾向が主流になった。アドレスバーに検索などの機能を統合、ステータスバーの廃止、ボタンの数を最小限にするなどである。

=== 特殊なUIを備えたブラウザ ===
* [[テキストブラウザ|テキストベースブラウザ]]（テキストブラウザ）：ウェブページのテキストのみをレンダリングするウェブブラウザ。[[キャラクタユーザインタフェース|CUI]]環境で動作させることができる。スタイルシートや画像、動画といったテキスト以外のコンテンツはほぼ無視されるが、その分必要リソースが少なく動作速度も速い傾向にある。[[アクセシビリティ]]の観点から、音声ブラウザ等に対応させるためのテストにも利用される。
* 音声ブラウザ：コンテンツを音声として読み上げるブラウザ。原理はテキストブラウザと同じだが、読み上げ機能に特化している。
* [[ヘッドレスブラウザ]]：通常のUIを備えず、レンダリング結果を画面に表示する代わりにファイル等で記録するウェブブラウザ。ウェブコンテンツの制作者がテストに利用することが多い。いわゆるウェブ[[クローラ|クローラー]]はそれ自身がヘッドレスブラウザとして動作している。  通常のブラウザと同じレンダリングエンジンを内蔵しており、単にHTMLを取得しただけではわからないスクリプトの動作結果やCSSによる装飾結果も確認できる。ヘッドレスブラウザはコマンドのパラメーターや、コンテンツ本体とは別に用意した[[スクリプト言語]]等を利用して制御する。
* [[専用ブラウザ]]：特定ウェブサイトの閲覧に特化したブラウザ。ブラウザ独自の[[グラフィカルユーザインタフェース|GUI]]を内蔵しているものでは、汎用ブラウザよりも操作性が優れる。[[2ちゃんねるブラウザ]]のようにサーバから直接ローデータを取得してレンダリングするものや、HTTP以外の手段で通信しているものもある。  汎用ブラウザの拡張機能として実装されているケースもある。回線速度やハードウェアのリソースが潤沢ではなかった時代では有力な実装方法であったが、開発コストが大きい為廃れる傾向にある。 なお、スマートフォン用の「アプリ」は専用ブラウザ的な運用がなされているが、実態は特定サイトに接続を固定化された汎用ブラウザという事も珍しくない。
* [[最小主義のブラウザ]]：[[UNIX哲学]]に基づいたブラウザ。ウェブページの解釈・表示のみを行ない、例えばタブやボタンを持たない。タイル型ウィンドウマネージャと併用されることが多い。UNIX哲学では、「一つのことを、うまくやれ」の精神が重要視される。等一部の（特に[[X Window System|X]]向けの）ブラウザはこの教義をかなり厳密に守っていると言える。Uzblは2017現在も開発が続いている[[Webkit]]解釈によるウェブブラウザである。このブラウザは下部のステータスバーと呼ばれる一行の表示を除き、タブやその他一切のUIを持たない。操作は設定ファイル（多くの場合、<code>~/.config/uzbl/config</code>というテキストファイルである）で定義され、標準では[[Vi]]風の鍵盤操作が定められている。最小主義と言ってもWebブラウザの本義は満たしており、Uzblは[[Acid3]]を満点で合格している。これらのブラウザはウィンドウマネージャ（親和性の高いものに[[awesome]]、[[i3 (ウィンドウマネージャ)|i3]]が挙げられる）によってタブブラウザのように操作できる。

=== ウェブ標準への対応 ===
初期のウェブブラウザが対応していたHTMLは非常に単純なものだった。ウェブブラウザの発展によりHTMLの標準でない方言が生まれ、互換性問題が大きくなっていった。最近のウェブブラウザは標準および**事実上'''標準のHTMLとXHTML、それらに高度な表現や機能を付加するCSS・JavaScriptなどに対応している。

表示したときの見た目はどのブラウザでも同じであるべきだが、そうでない場合もある。

### 拡張機能
ウェブブラウザが標準では持たない機能を追加するアドオン。

Firefox・Google Chrome・Safari・Opera等には独自の拡張機能フォーマットがあり、ブラウザの開発元が用意したポータルサイトで配布される。多くは企業ではなくユーザーの有志が制作しており、UIの改善・広告ブロックなど様々な機能を提供する。

### プライバシーと安全性
多くのウェブブラウザはHTTPSに対応しており、ウェブキャッシュやCookieや閲覧履歴を素早く簡単に消去する機能もある。しかしそれだけでは対処できないセキュリティのリスクに晒され、マルウェアに悪用されたり、（現在は死語になったが）ブラウザクラッシャーなどでブラウザのみならずオペレーティングシステムをフリーズさせられる場合がある。ブラウザ自体にもブラックリストで悪質なサイトへのアクセスを防止する・自動アップデートなどのセキュリティ向上機能が追加されているが、アンチウイルスソフトウェアなどでオペレーティングシステム（OS）全体を保護するのが望ましい。

コンピュータセキュリティ、ネットワーク・セキュリティも参照。

## 歴史
ウェブブラウザの歴史は1980年代末に遡り、それから様々な技術の基礎を築きあげた最初のウェブブラウザ、WorldWideWebがティム・バーナーズ=リーによって1991年に公開された。このブラウザは既存および新たなソフトウェアとハードウェアの色々な技術とともに寄せ集められていた。なお、WorldWideWebは後にNexusへと改称されている。

テッド・ネルソンとダグラス・エンゲルバートはバーナーズ=リーのずっと前にハイパーテキストの概念を開発していた。この核となる部分は World Wide Web に合うのではないか、というエンゲルバートの提案にバーナーズ=リーは賛同した。

1993年にNCSA Mosaicが登場した。Mosaic は画像が扱える最初のウェブブラウザの一つであり、これによってウェブの利用者が激増するきっかけとなった。米国立スーパーコンピュータ応用研究所（NCSA）の Mosaic チームのリーダーであったマーク・アンドリーセンはその後まもなくネットスケープを設立し、Mosaicを汲むNetscape Navigatorを1994年にリリースした。このブラウザは瞬く間に世界中のもっとも主流なウェブブラウザとなり、最盛期には全てのウェブにおいて9割もの利用率を占めた。

これにマイクロソフトが反応し、1995年にNCSAからMosaicのライセンスを引き継ぎInternet Explorerを開発した。このことが最初のブラウザ戦争の引き金にもなった。マイクロソフトはInternet ExplorerをWindowsに同梱させることでOS市場の優位性をウェブブラウザ市場にも引き継がせ、Internet Explorerにも力を持たせることができた。これによって2002年にはInternet Explorerの利用率はピーク時で95%を超えた。2011年2月時点ではNet Applicationsによると利用率が57%程度とされており、Internet Explorerのシェア減少が示されていた。

1996年にOperaが登場したが利用者を大きく獲得することはなく、2011年2月時点で2%と常にその前後の利用率となっていた。ただし携帯電話のウェブブラウザ市場では最も占有率を伸ばしており、4000万台を超える端末に導入されていた。また、いくつかの組み込みシステム向けにも登場しており任天堂の家庭用ゲーム機であるWiiやDSiなどがある。

1998年にNetscapeはMozilla Foundationを旗揚げし、オープンソースとして自由な競争力のあるブラウザを提供しようと計画した。このブラウザは最終的にMozilla Firefoxとして展開された。公開されたFirefoxはベータ版段階だったがそれなりの愛好者を獲得し、Firefox 1.0が2004年末期にリリースされてから間もなくFirefoxの全バージョン合計で7.4%の利用率を獲得した。2011年2月時点では22%の利用率となっていた。

2003年1月にAppleのSafariが登場した。Appleの製品での占有率は独占的で、2011年2月時点の利用率は6.3%となっており、緩やかな上昇傾向を見せていた。KDEプロジェクトのKHTMLを基に開発したWebKitと呼ばれるレンダリングエンジンを採用している。WebKitはAppleのiOS、GoogleのAndroid、ノキアのS60、Palm（2010年、ヒューレット・パッカードにより買収）のHP webOSなどいくつかの携帯電話のプラットフォームでも採用されていた。

2008年9月にGoogleのGoogle Chromeが登場した。これはWebKitを基に開発したBlinkと呼ばれるレンダリングエンジンを採用している。ウェブブラウザのシェアは1990年代後半以降のWindowsの普及に伴いInternet Explorerの占有が続いていたが、Google Chromeが2010年代に入って著しくシェアを伸ばし、2011年2月時点で11%の利用率に成長した。この増加傾向はInternet ExplorerやFirefoxの減少傾向と同期していた。そして2011年12月、Google ChromeはInternet Explorer 8を越えて最も広く使われているウェブブラウザとなった。ただし、Internet Explorerの全バージョンを合計すると、IEが最も広く使われているウェブブラウザであった。

2015年時点ではGoogle Chromeの世界シェアはInternet Explorerを抑えて1位となっており、過半数を占めるようになった。Internet ExplorerおよびFirefoxのシェア減少は著しく、それぞれ2位（19.9%）および3位（17.87%）となりGoogle Chromeとの差が急激に広がっていた。一方で日本国内に限ると、依然としてInternet Explorerのシェアは高く過半数を占めていた。

2015年7月にマイクロソフトのEdgeが登場した。EdgeHTMLと呼ばれるレンダリングエンジンを採用していたが、後にBlinkへ変更された。Windows 10に合わせてリリースされシェアを伸ばし、2020年には7.9%の利用率となりFirefox（7.2%）をやや上回ったが、Google Chrome（69.8%）には遠く及んでいない。

なお、成長著しいスマートフォンや非PCのタブレットの分野では、オペレーティングシステム（OS）付属のウェブブラウザが利用されることがほとんどであり、AndroidではAndroidのAndroid標準ブラウザと後継のChrome、iOSのSafariがOSの占有率にほぼ比例して普及している。PCとのデータ同期も可能である。FirefoxやOperaなどはブラウザをスマートフォン・タブレット対応アプリとしてリリースして対抗している。

## 推奨ブラウザ
本来ウェブサイトは様々なOS環境・ウェブブラウザで見られるようにウェブ標準などに則し、アクセシビリティ等を考慮した形で作成される必要がある。しかしウェブサイトによっては種々の都合からサイトの閲覧に必要な環境として特定の推奨ブラウザを明記していることがあり、閲覧者は技術上の理由から推奨ブラウザに合わせたウェブブラウザの選択が必要となることもある。また、推奨ブラウザの記述内容によってはユーザが安全上の不利益を被る場合もある。

## 脚注

### 出典

## 関連項目

* ウェブサイト
* ウェブブラウザの一覧
* ブラウザ戦争
* HTMLレンダリングエンジン（レイアウトエンジンとも）
* タブブラウザ
* ツリーブラウザ
* ラインモードブラウザ
* モバイルブラウザ
* 推奨ブラウザ
* インターネットスイート

## 外部リンク
* Architecture of the World Wide Web, Volume One W3C
* WorldWideWeb: Proposal for a HyperText Project W3C