まえがき

最近は、ワールド ワイド ウェブを使って世界中の情報を簡単に入手できるようになりました。世界中のいろいろな人と知り合うこともできるし、他の国の出来事も瞬時に伝わってきます。

オンラインでこんなことができるようになったのも、世界中のインターネットに接続できるパソコンや携帯からウェブブラウザを使ってオープンなウェブにアクセスできるようになったおかげです。



では、このブラウザやウェブはどんな仕組みになっているのでしょうか。私たちが愛してやまないワールド ワイド ウェブは、どうやって今のような形に進化してきたのでしょうか。そして、このウェブを安全に、また効率的に利用するには何を知っておく必要があるのでしょうか。

「20 Things I Learned About Browsers and the Web(ブラウザやウェブについて知っておきたい 20 のこと)」は、ブラウザやウェブの基本について興味がある方向けの楽しいガイドブックです。次のような内容で構成されています。

まず、ウェブが存在するための基礎の基礎、インターネットについて説明します。クラウド コンピューティングやウェブ アプリを通じて、現在のウェブがどんな風に使われているのかにも目を向けます。

次に、HTML や JavaScript などのウェブページ構成要素を紹介し、この発明と進化が現在のウェブサイトをどのように変えてきたかについて説明します。また、最新のブラウザの機能や、ウェブに安全にアクセスできるようにするための機能について説明します。

最後に、ブラウザやウェブ テクノロジーが今後どんな風に進化していくかについて考えます。近い将来、今よりもっと高速で、さらにリアルなオンライン体験ができるようになるでしょう。



ウェブの住人として生活すると、開放感があって何でもできそうな気持ちになりますが、ある程度の知識を身につけておくことも重要です。私たちは実際の生活の中で、自分が住んでいる地域の危険な水辺、主要なサービス、近所のお店といった基本的な情報を把握しています。オンラインの生活でも、それと同じような情報を把握しておくことの重要性が増しています。これが、この本を作ることになった一番大きな理由です。ブラウザの機能について説明する際には、例として Google のオープンソース ブラウザ「Chrome」を多く取り上げています。これが我々の一番よく知っているブラウザだからです。みなさんがこのガイドを楽しく読み進めてくれることを願っています。

ブラウジングをぜひお楽しみください!

Google Chrome チーム(イラスト: クリストフ・ニーマン)

2010 年 11 月

インターネットとは

君がトマトなら僕は TCP/IP(You Say Tomato, I Say TCP/IP)

インターネットって、正確に言うとどんなものなのでしょうか。人によっては、友だちと連絡をとったり、ニュースを読んだり、買い物したり、ゲームをしたりするところかもしれません。契約しているプロバイダがインターネットだと思っている人もいるでしょうし、世界中をつないでデータを伝達している光ファイバーやケーブルがインターネットだと考える人もいるでしょう。

いったい誰が正しいのでしょうか。

インターネットが始まった年、1974 年までさかのぼってみましょう。その年、何人かの優秀なコンピュータ研究者が「インターネット プロトコル スイート」と呼ばれる、いわゆる「TCP/IP」を発明しました。



TCP/IP は、コンピュータ同士が話をして情報をやり取りする際のルールを定めたものです。

人間同士のコミュニケーションとよく似ています。私たちが話をするときは、文法というルールに従って言葉を組み立て、お互いに理解できたことを確かめながら情報を交換します。同じように、TCP/IP という通信ルールを定めたことで、相互に接続されているコンピュータがお互いを理解して情報をやり取りできるようになりました。接続されたコンピュータのグループは 1 つの部屋の中から多くの部屋へと広がり、やがて建物、都市、国へと拡大して「インターネット」が誕生したのです。

初期のインターネットを作った人たちは、情報を小さな塊に分けて送信して受信後に組み立て直すことで、データを効率的に送受信できることを発見しました。このデータの塊が、いわゆるパケット(小包)です。インターネット経由で送信されたメールはいくつかのパケットに分けられて送られ、受信側で再び組み合わされて元のメールに復元されます。YouTube などで動画を見る場合も同じです。動画ファイルはたくさんのデータ パケットに分割されていて、世界中の複数の YouTube サーバーから送信できるようになっています。これらのパケットを再び組み合わせたものを動画としてブラウザに表示するわけです。



では速度について考えてみましょう。インターネット内を流れるデータを水にたとえると、インターネットの帯域幅は 1 秒間に流れる水の量です。エンジニアが「帯域幅」と言うとき、その人は「あなたの家のインターネット回線で 1 秒間に伝達できるデータの量」のことを話しているのです。つまり、帯域幅はあなたの家の回線速度を表します。回線速度を上げる 1 つの方法は、物理的なインフラを改善することです。光ファイバー ケーブルなら、光とほぼ同じ速さで情報を伝達できます。もう 1 つの方法は、データの変換方法を工夫することです。物理的な媒体、たとえば銅線のような昔からある媒体でも、データをうまく変換してより速く伝送できれば回線速度は上がります。

インターネットは高度な技術を備えた魅力的なシステムです。しかし現在では、それを支える回線や伝送方式について考える必要もないほどユーザー フレンドリーな世界になりました。

インターネットは、私たちが愛してやまないワールド ワイド ウェブの根底にあるものです。インターネット回線があれば、オープンで成長を続ける、相互に接続されたウェブページやウェブアプリケーションの世界にアクセスできるのです。実際のところ、今ウェブ上に存在するページの数は、人間の脳内にある神経細胞の数、天の川に浮かぶ星の数と同じくらいになっているかもしれません。

この後の 2 つの章では、クラウド コンピューティングやウェブ アプリの出現によって、ウェブの使い方がどんな風に変わってきたかについて説明します。

クラウド コンピューティング

なぜノートパソコンがトラックにつぶされても大丈夫なのか

インターネットが登場してからというもの、パソコンを取り巻く環境は大きく変化しました。家のパソコンでネットを検索したり、YouTube で動画を見たりするということは、それらの情報を提供してくれる、世界中に散らばった膨大な数のコンピュータにつながっているということになります。インターネットがあるおかげで、巨大なスーパーコンピュータがあなたの手足として働いてくれているようなものです。

このような状態のことを、一般に「クラウド コンピューティング」と表現します。

最近はウェブでニュースを読む、音楽を聞く、買い物をする、テレビ番組を見る、ウェブにファイルを保管する、なんてこともできるようになりました。あなたが住んでいる街でも、ほとんどの美術館、銀行、役所がウェブサイトを持っています。その結果どうなったでしょうか。ウェブサイトで支払いや予約ができるようになって、列に並んだり電話で待たされたりすることが少なくなりました。日々の手続きの多くがオンラインで済むようになったおかげで、現実世界の生活がさらに充実したのです。



クラウド コンピューティングのメリットは他にもあります。私たちはちょっと前まで、ウイルスや故障などの問題がパソコンに発生すると、パソコン内の文書、写真、ファイルが無くなってしまうのではないかと恐れていました。しかし今では、データはパソコンという枠組みを越えようとしています。データはオンラインの「クラウド」に移行されているのです。写真をアップロードし、重要なファイルをオンラインで保管し、Gmail や Yahoo! メールのようなウェブベースのメール サービスを利用していれば、もしノートパソコンが巨大なトラックに轢かれたとしても大丈夫。あなたのデータはウェブに残っていて、インターネットにつながっているパソコンさえあれば世界中どこからでもアクセスできます。

ウェブ アプリ

生命、自由、およびアプリの追求

オンラインでゲームをしている人、オンラインで写真を編集している人、Google マップ、Twitter、Amazon、YouTube、Facebook などのウェブ サービスがないと困るという人は、ウェブ アプリのすばらしい世界を積極的に楽しんでいる人です。

でも、「ウェブ アプリ」っていったい何でしょう。そもそも、そんなことを気にする必要があるのでしょうか。



「アプリ」はアプリケーションの略です。アプリケーションは、プログラムとかソフトウェアとも呼ばれます。元々は、経理やワープロのような、もっと大掛かりで手間のかかる作業のために開発されたものをアプリケーションと呼んでいました。しかし、ウェブブラウザやスマートフォンのようなオンラインの世界では、1 つの目的に特化した小さなプログラムを「アプリ」と呼ぶようになっています。特に「ウェブ アプリ」と言う場合は、ウェブブラウザの中で動作するアプリを指し、その多くが魅力的な双方向性を備えています。

ウェブ アプリの良い例が Google マップです。Google マップの目的はただ 1 つ。ウェブブラウザ内で便利な地図機能を提供することです。地図内を移動して拡大したり、大学やカフェを探したり、運転ルートを表示したりとさまざまな機能を備えています。必要な情報をリクエストすれば、そのたびに最新の情報を取得して地図内に表示してくれます。

ウェブ アプリには以下の 4 つのメリットがあります。

1. どこからでも自分のデータにアクセスできる。

従来のデスクトップ アプリケーションの世界では、データをパソコンのハード ドライブに保管するのが一般的です。休暇でパソコンを自宅に置いてきた場合は、メールや写真といったデータが必要になってもアクセスできません。新しいウェブ アプリの世界では、メールをはじめすべてのデータをウェブ上に保管します。インターネットに接続されているパソコンがあれば、ウェブブラウザを使ってデータにアクセスできます。

2. いつでも最新バージョンのアプリを利用できる。

今日はどのバージョンの YouTube を使っていますか。明日はどうですか。答えは「いつも最新」です。ウェブ アプリは自動的に更新されるため、常に 1 つのバージョンしか存在しません。常に最新バージョン、最新の機能を利用でき、最新の変更が反映されています。



新しいバージョンが出るたびに、手作業でアップグレードする必要はありません。また、時間がかかるインストールを行う手間もありません。

3. ブラウザがあればデバイスを問わず動作する。

従来のコンピュータの世界では、プログラムの多くは特定のシステムやデバイスでしか動作しません。たとえば、Windows 用のプログラムのほとんどが Mac では動作しません。すべてのソフトウェアが正しく動作する状態を常に維持するには、かなりの時間と費用がかかります。一方、ウェブはオープンなプラットフォームです。パソコン、ノートパソコン、携帯電話を問わず、ウェブに接続されたデバイスであれば、ブラウザを使ってウェブ アプリを動作させることができます。つまり、友だちのノートパソコンやインターネット カフェのパソコンでも、お気に入りのウェブ アプリが利用できるということです。

4. より安全である。

ウェブ アプリはブラウザ内で動作するので、パソコンにダウンロードする必要がありません。

アプリのコードとパソコンのコードが分離されているため、ウェブ アプリがパソコンの他のタスクの邪魔をしたり、パソコン全体のパフォーマンスに影響したりすることはありません。つまり、ウイルス、不正なソフトウェア、スパイウェアなどの脅威にさらされにくくなります。

HTML、JavaScript、CSS...

AJAX はもう他人事じゃない

ウェブページは、HTML というプログラミング言語で記述されています。HTML を使うと、ウェブページのコンテンツをどのように組み立てて表示するかをブラウザに指示できます。つまり、HTML はウェブの基本構成要素を提供しているのです。ウェブの構成要素は長い間、文章、リンク、画像のような単純で動きのないものばかりでした。

しかし現在では、オンラインでチェスをしたり、近所の地図をスムーズにスクロールしたりできます。しかも、チェスを一手進めるたび、または地図をスクロールするたびに、ページ全体を読み込み直す必要はありません。

このようなダイナミックなウェブページは、JavaScript というスクリプト言語が発明されたことで可能になりました。



JavaScript がほとんどのブラウザでサポートされるようになったため、便利なリアルタイムの双方向機能をウェブページに組み込めるようになったのです。たとえば、オンライン フォームに入力して送信ボタンをクリックすると、JavaScript が入力内容をリアルタイムでチェックし、間違っている項目があればすぐに警告を出してくれます。

しかし、今ではよく見かけるダイナミックなウェブページが本当の意味で実現したのは、JavaScript に XHR(XMLHttpRequest)が導入され、ウェブ版の Microsoft Outlook や、Gmail、Google マップなどのウェブアプリケーションに採用されたときです。XHR を使用すると、ページ全体を読み込み直すことなく、ウェブページの一部分のみ(ゲーム、地図、動画、簡単なアンケートなど)を変更することができます。これにより、ウェブ アプリの動作と応答が速くなりました。



CSS(カスケーディング スタイル シート)の導入も、ウェブページの表現性の向上を後押ししました。CSS を使用すると、ウェブページのレイアウトを簡単かつ効果的に定義でき、色、角の丸み、階調、アニメーションなどのデザイン要素を細かく調整して美しいウェブページを作成できます。

ウェブ プログラマの間では、JavaScript、XHR、CSS と他のいくつかのウェブ テクノロジーを合わせて、AJAX(エイジャックス: Asynchronous JavaScript and XML)と呼んでいます。HTML も進化を続けており、新しい機能とさらなる改善を加えた新バージョンの HTML 標準も発表されています。

ウェブがここまで進化したのは、これらのウェブ テクノロジーを開発し、Internet Explorer、Firefox、Safari、Google Chrome といったウェブブラウザへの実装に尽力した技術者、思想家、プログラマ、組織のたゆまぬ努力によるものです。そして、このようなウェブ テクノロジーとウェブブラウザの相互作用によって、ウェブ開発者向けのオープンで親しみやすい開発プラットフォームが形成され、私たちが毎日使う便利で面白いウェブ アプリが続々と開発されているのです。

HTML5

最初は <video> タグなんてなかった

HTML が公開されてから 20 年以上経ちましたが、私たちはいまだにウェブがどんなものか、これからどうなっていくかがよくわからずにいます。ユーザーにとってどんな機能やアプリケーションが面白いのか、便利なのか、不可欠なのか。開発者は、すばらしいサイトやアプリを開発するためにどんなツールを必要としているのか。こうした便利な要素をすべてウェブブラウザで利用できるようにするにはどうしたらいいのか。

これらの疑問が HTML の進化につながりました。最新バージョンの HTML5 には、ウェブ デザイナーやウェブ開発者が優れた次世代オンライン アプリケーションを開発するための機能が数多く追加されています。たとえば、HTML5 の <video> タグを見てみましょう。動画は、初期のウェブでは重視されていない(というよりまったく考慮されていない)要素でした。



ウェブブラウザの中で動画を再生するには、プラグインと呼ばれる追加ソフトウェアをインストールしなければなりませんでした。その後動画が普及し、動画をブラウザで簡単に再生できる機能はとてもニーズが高いことがわかってきました。HTML5 に <video> タグが導入されたことで、ソフトウェアを追加しなくても、ウェブページに動画を埋め込んで再生することが簡単にできるようになりました。

HTML5 の便利な機能としては他に、インターネットに接続していなくてもウェブ アプリを操作できるオフライン機能があります。ドラッグ&ドロップ機能も便利になりました。たとえば Gmail では、ブラウザ ウィンドウにファイルをドラッグ&ドロップするだけで簡単にファイルを添付できます。

ウェブそのものとも言える HTML5 は、ユーザーのニーズや開発者の想像力に基づいて永遠に進化し続けるでしょう。

オープンスタンダードである HTML5 は、ウェブの優れた点をいくつか統合しているため、最新のブラウザがあればどこにいてもどのデバイスでも利用できます。しかし、HDTV(高精細テレビ)放送は HD 対応のテレビでしか見られないように、HTML5 の機能を活用しているサイトやアプリを存分に楽しむには、最新の HTML5 対応ブラウザを使用する必要があります。幸いなことに、ウェブブラウザの選択肢は豊富にそろっており、しかもテレビと違って無料でダウンロードできます。

ブラウザでの 3D

奥行きのあるブラウジング

3D のグラフィックスやアニメーションは、光と影、反射、細かな構造など、詳細をリアルに表現できて本当に魅力的です。しかしつい最近まで、魅力的な 3D 映像を提供すること、特にインターネットで配信することは難しいことでした。

なぜでしょうか。一番の要因はデータ量です。3D のゲームやアプリケーションを作成するには、入り組んだ構造や形状を表現するための膨大な量のデータが必要になります。昔はこれだけの量のデータを処理するのに、一般的なシステムの処理能力を上回るインターネット帯域幅と演算能力が必要でした。



この状況がごく最近になって一変し、ブラウザ ベースの 3D が実現しました。

ブロードバンドの普及によって帯域幅の問題は解決しました。ほとんどの家庭やオフィスがブロードバンド回線に切り替わり、たった十年前の回線速度が信じられないほど遅く感じられるようになりました。これにより、リアルな 3D 映像をブラウザに表示するための大量のデータを、インターネット経由で伝送できるようになりました。さらに、私たちが使っているパソコンも、以前とは比べものにならないほど高性能になりました。プロセッサやメモリの仕様が大幅に向上し、標準的なパソコンでも複雑な 3D グラフィックスを処理できるようになりました。

しかし、ウェブブラウザの機能がこれほど進化していなければ、ブロードバンドへの切り替えも処理能力の向上も宝の持ち腐れだったかもしれません。最新のブラウザの多くは、WebGL や 3D CSS のようなオープン ウェブ テクノロジーを採用しています。これらのテクノロジーのおかげで、開発者はカッコいい 3D ウェブアプリケーションを作成でき、私たちはそのアプリをプラグインなしで見ることができるのです。さらに、最新のブラウザの多くでは、ハードウェア アクセラレーションという手法が採用されています。つまり、ブラウザが GPU(グラフィックス プロセッシング ユニット)を使って、2D や 3D のウェブ コンテンツの表示に必要な処理を高速化できるようになっているのです。



では、なぜそんなに 3D が重要なのでしょうか。それは、ウェブ開発者が使用するツールキットに HTML5 や JavaScript などの新技術が数多く採用され、魅力的な次世代ウェブアプリケーションを開発できるようになったからです。ユーザーから見れば、情報をまったく新しい方法で視覚化したり、魅力的な 3D 環境や 3D ゲームをオンラインで楽しんだりできるからです。

最も重要なのは、3D をブラウザ内で利用できるようになると、ウェブ アプリのメリットも付いてくるという点です。つまり、最新の 3D アプリを世界中の友だちと共有して一緒に作業したり、自分たちの好きなようにカスタマイズしたりできるのです。すべての人が、もっといろいろなデータを使って、もっといろいろなことができるに違いありません。

ブラウザ叙情詩

古いブラウザ vs. 新しいブラウザ

気難しい年寄りのブラウザと若いブラウザは一緒には暮らせない若いブラウザは速くて、高機能で、とても安全年寄りのブラウザは遅くて、最悪で、ものすごく危険悪質な攻撃にもまったく耐えられないのだ(シェークスピアさん、ごめんなさい)



私たちのほとんどは、古くて時代遅れのウェブブラウザを使うことが、オンラインでの活動にどれほどの悪影響を及ぼすか、特にオンラインでの安全性をどれほど脅かすかについて理解していません。タイヤがすり減り、ブレーキの効きが悪く、エンジンの調子も悪い中古車を、そのまま何年も運転し続けることはできないですよね。それと同じで、ウェブページやウェブ アプリで毎日使うウェブブラウザを、時代遅れのままにしておくことはおすすめできません。

最新のブラウザ、つまり Mozilla Firefox、Apple Safari、Microsoft Internet Explorer、Opera、Google Chrome の最新バージョンにアップグレードすることが重要な理由は 3 つあります。

第一に、古いブラウザは最新の修正プログラムやセキュリティ機能が適用されていないことが多く攻撃に弱いからです。ブラウザが脆弱だと、パスワードを盗まれたり、悪質なソフトウェアがパソコンに忍びこんできたり、これよりもっと悪い事態に陥ることもあります。最新のブラウザなら、フィッシングや不正なソフトウェアのようなセキュリティ上の脅威からパソコンを守ることができます。

第二に、ウェブの進化が速いからです。現在のウェブサイトやウェブアプリケーションは、最新の機能がふんだんに使用されていて古いブラウザではうまく動作しません。HTML5、CSS3、高速な JavaScript など、最新ウェブ テクノロジーをサポートし、ウェブページやウェブ アプリの進化にすばやく対応できるのは最新のブラウザだけです。



第三の理由は、古いブラウザがウェブの革新の足かせになるからです。古いブラウザにしがみついているインターネット ユーザーが多ければ、ウェブ開発者は古いテクノロジーと新しいテクノロジーの両方に対応したウェブサイトを作成しなければなりません。時間やリソースは限られているため、できるだけ多くの人が使えそうなサイトを開発することになり、便利で革新的な次世代ウェブアプリケーションは開発されなくなってしまいます(現代の道路設計技師が、T 型フォードのようなクラシックカーでも間違いなく安全に走れる高速道路を設計しなければならないとしたらどうでしょう)。これが、古いブラウザがユーザー全体にとっても、ウェブの革新にとっても良くない理由です。



古いブラウザを使い続けているからといって、誰かに個人的に責められるわけではありません。場合によっては、ブラウザをアップグレードできないこともあります。会社のパソコンでブラウザのアップグレードが禁止されているなら、担当の IT 管理者に話をしてみましょう。古いバージョンの Internet Explorer をアップグレードできないなら、Google Chrome Frame プラグインをインストールして Internet Explorer に Google Chrome の機能性を組み込めば、最新のウェブ アプリの便利な機能を使えるようになります。

古くて時代遅れのブラウザは、ユーザーである私たちにとってだけでなく、ウェブ全体の革新を遅らせる足かせになります。ぜひ一度、今使っているお気に入りのブラウザが、最新のバージョンにアップグレードされているかどうかを確認してみてください。

注: 今使っているブラウザを確認するには、http://www.whatbrowser.org/jp/ をご覧ください。

プラグイン

チーズピザにはペパローニ

まだワールド ワイド ウェブの黎明期、出始めのころの HTML では、動画のような手の込んだコンテンツは配信できませんでした。テキストと画像とリンクでもう限界、という時代でした。

しかし、プラグインが発明されたことで、初期の HTML の限界が打ち破られ、より双方向性のあるコンテンツを配信できるようになりました。

プラグインとは、特定のコンテンツの処理に特化した追加ソフトウェアです。たとえば、Adobe Flash Player のようなプラグインをダウンロードしてインストールすると、動画やゲームを含むウェブページを表示できるようになります。



プラグインとブラウザは、いったいどれだけ密接に連携しているのでしょうか。不思議なことに、実はほとんど連携していないのです。プラグインの仕組みは、テレビの画面内に表示されるワイプ画面のようなものです。ブラウザは、ウェブページ上にプラグイン専用の領域を定義するだけで後は何もしません。プラグインは、その領域の中であれば、ブラウザから独立して自由に動作できます。

ブラウザから独立して動作するということは、プラグインが複数の異なるブラウザで動作できるということです。ただし、このような特性があるために、プラグインがセキュリティ攻撃の標的になりやすいという側面もあります。インストールしたプラグインを古いバージョンのまま使い続けると、最新のセキュリティ修正プログラムが適用されないため、セキュリティ攻撃に対するパソコンの脆弱性がさらに増します。

このプラグインの仕組みの大部分は、ウェブの初期のころから受け継いできたものです。しかし、最近になって、プラグインを進化させるような新しい方法を模索する動きが出てきました。

たとえば、プラグインをもっとシームレスに統合して、そのコンテンツを検索したり、リンクでつないだり、ウェブページの他のコンテンツと相互作用させたりできないか、などです。注目すべきは、ブラウザとプラグインのメーカーの一部が、ユーザーのセキュリティ保護のために協力しているということです。たとえば、Google Chrome と Adobe Flash Player の開発チームは、協力してブラウザに Flash Player を統合しました。Chrome は自動更新メカニズムを備えているため、Flash Player プラグインのバージョンが古いまま放置されることはなくなり、常に最新のセキュリティ修正ソフトウェアとパッチが適用されます。

ブラウザの拡張機能

ブラウザをパワーアップ!

ブラウザの拡張機能とは、ブラウザに新しい機能を追加し、文字どおりブラウザの機能を「拡張」するためのものです。

つまり、あなたが便利だと思う機能を追加してブラウザをカスタマイズできるのです。ブラウザにもっと強力な新しい機能を追加する手段、と考えてもよいでしょう。

それぞれのニーズに応じて、大幅に機能を強化することも、シンプルで便利な機能だけを追加することもできます。たとえば、通貨換算ツールの拡張機能をインストールすると、ブラウザのアドレスバーの横に新しいボタンが追加されます。

このボタンをクリックすると、今見ているウェブページに表示されているすべての価格が指定の通貨に換算されます。もしあなたが旅行好きで、いつもオンラインで旅行の計画や予約をしているなら便利ですよね。このようにして追加した機能は、その後アクセスするすべてのウェブページで利用できます。



ブラウザの拡張機能には、ウェブページとは別に、完全に独立して機能するものもあります。メール通知の拡張機能は、指定したアカウントのメールをひそかにチェックして、メールが届いていたらブラウザのツールバーにあるアイコンで知らせてくれます。この拡張機能の場合は、あなたがどのウェブページを見ているときでもバックグラウンドで動作しているので、わざわざ別ウィンドウでメール アカウントにログインしなくても新しいメールをチェックできます。

ブラウザの拡張機能が開発され始めたころは、あまり馴染みのないプログラミング言語か、複雑な開発に適したメインストリーム言語(たとえば C++)で開発しなければなりませんでした。これにはたくさんの労力、時間、専門性が必要でした。ブラウザに追加するコードが増えれば、弱点を突かれて攻撃される可能性も高くなり、セキュリティの問題にもさらに気を配らなければならなくなります。難解なコードのせいで、拡張機能がブラウザ クラッシュの原因として非難されたこともありました。

最近では、ほとんどのブラウザの拡張機能が、HTML、JavaScript、CSS といったウェブ向けのわかりやすい言語で開発できるようになっています。これらの言語はウェブ アプリやウェブページの開発にも使われているため、最近ではこれらを拡張機能と連携させるのもそれほど難しくなくなっています。拡張機能は短期間で開発できるようになり、安全性も高まり、開発のベースであるウェブ標準の進歩に合わせてどんどん進化しています。



新しい拡張機能をお探しでしたら、今使っているブラウザの拡張機能ギャラリーをのぞいてみてください。探しものの途中でウェブページにマーキングしたりメモを書き込んだりできる拡張機能や、スポーツの試合の途中経過をブラウザに表示してくれる拡張機能など、便利なものから純粋に楽しさを追求したものまで、たくさんの拡張機能が見つかるはずです。

ブラウザの同期

なぜノートパソコンがトラックにつぶされても大丈夫なのか(その 2)

さて、あなたは「クラウド」の住人になりました。メールや音楽、ほとんどすべてのことにウェブ アプリを使います。重要な文書、写真、ファイルはオンラインで保管してあるので、インターネットに接続できるパソコンがあれば世界中どこからでもアクセスできます。

もし、巨大なトラックにあなたのノートパソコンが轢かれてバラバラになったとしても、すべてを失うわけではありません。インターネットに接続できるデバイスさえあれば、オンラインに保管しておいた大切なデータにアクセスできるのです。賢明な選択でしたね!



でもちょっと待って。毎日使っているブックマークやブラウザ拡張機能、それにブラウザの設定はどうなるのでしょうか。ノートパソコンと一緒にバラバラになってしまったのでしょうか。

昔なら、この答えは「はい」でした。お気に入りの拡張機能はすべて再インストール、苦労してブックマークに登録したウェブサイトは全部もう一度探さなければなりませんでした。でも今は違います!Firefox や Chrome のような現在のブラウザのほとんどには、最初から同期という機能が組み込まれています。同期によってブラウザの設定をオンラインに(つまりクラウドに)保管すれば、パソコンが壊れても設定が無くなることはありません。

複数のパソコンを使っている場合はもっと便利です。たとえば、家でデスクトップ パソコン、会社でノートパソコンを使っているとしましょう。この場合も、すべてのパソコンでいちいち設定を変更したり、お気に入りサイトのブックマークを作り直したりする必要はありません。

ブラウザの同期が有効になっていれば、一方のパソコンのブラウザに加えたすべての変更が、もう一方のパソコンのブラウザに自動的に反映されます。

たとえば Chrome の場合は、同期によってブックマーク、拡張機能、設定、テーマが Google アカウントに保存されます。インターネットに接続されている他のパソコンがあれば、同期機能が有効になっている Chrome を起動して Google アカウントにログインするだけです。たったこれだけで、初めて使うパソコンでもいつものブラウザ設定で快適にブラウジングできるのです。

何台ものパソコンを使い分けている場合でも、インターネットへの接続とクラウドに同期できる最新ブラウザさえあればどこに行っても心配はいりません。たとえ使っているパソコンが全部、あのいまわしいトラックに轢かれたとしてもね。

ブラウザの Cookie

覚えててくれてありがとう

Cookie(クッキー)なんて、技術関連の名前にしてはちょっと変わっていますよね。でも、インターネットではこの Cookie が重要な役割を果たします。あなたが以前アクセスしたウェブサイトを覚えていて、いろいろと便利な機能を提供してくれるのです。

Cookie は、あなたがウェブサイトにアクセスしたときにブラウザに送られてくる小さなテキスト データです。Cookie には、たとえばあなたがどの言語でページを表示したいかなど、ウェブサイトに覚えておいてもらうと便利な情報が保存されています。ブラウザはこのデータを保存しておき、次にそのサイトにアクセスしたときに取り出して、あなたにとって便利なように設定を調整してくれるのです。

たとえば、あなたが映画サイトにアクセスして「コメディー映画が好き」ということを示すと、そのことを記憶するための Cookie がウェブサイトから送られてきて、次にそのサイトにアクセスしたときには真っ先にコメディー映画が表示されます。

オンラインで買い物するときのショッピング カートにも Cookie が使われています。たとえばオンライン ショップで映画の DVD を探しているとき、ログインしていないのに商品をショッピング カートに追加できた経験はありませんか。



ショップ内の別のページに移動しても、ショッピング カートには DVD が入ったままになっています。これは、ブラウザの Cookie にデータが保存されているからなのです。Cookie は、オンライン広告にも利用されています。あなたが何に興味を持っているかを覚えておいて、関連する広告を表示するのです。

中には、Cookie をあまり利用したくない人もいます。そこで、最新のブラウザのほとんどには、好みに合わせて Cookie を管理できる機能が用意されています。Cookie を管理するルールをサイトごとに設定できるため、プライバシーを柔軟に管理することができます。たとえば、どのサイトを信頼するかを選択できるため、信頼できるサイトにだけ Cookie を許可し、それ以外のサイトでは Cookie をブロックすることもできます。Cookie にもいろいろな種類があります。たとえば、1 回のブラウジング セッションの間だけ有効な「セッション Cookie」、複数のセッションの間ずっと有効な「永続 Cookie」などがあります。

最新のブラウザは、Cookie の種類も細かく管理できるようになっていて、永続 Cookie をセッション Cookie として許可する、なんていう設定もできるのです。

Google Chrome ブラウザの [オプション] メニューを進んでいくと、[Adobe Flash Player の保存設定] という見慣れないリンクがあります。このリンクは、Adobe Flash Player で保存されるローカル データ(これを「Flash Cookie」と呼びます)を管理しやすくするためのものです。Flash Cookie には、あなたがアクセスした Flash ベースのウェブサイトやアプリケーションに関する情報が保存されます。Flash Cookie の設定も、ブラウザ Cookie と同じように簡単に管理できます。

ブラウザとプライバシー

ブラウザでプライバシーを守るためのいろいろな選択肢

セキュリティとプライバシーは、密接に関係していますがまったく同じものではありません。

自宅を例にセキュリティとプライバシーを考えてみましょう。玄関の鍵や警報機は、泥棒からあなたを守るためのものです。

これに対してカーテンやブラインドは、中の様子を通行人に見られないようにするためのものです。

同じように、ブラウザのセキュリティ機能は、不正なソフトウェア、フィッシング、その他のオンライン攻撃からあなたを守るためのものです。



これに対して、プライバシー機能はパソコンのブラウザでの操作を他人に見られないようにするためのものです。

プライバシーについて、もう少し詳しく見てみましょう。たとえば、あなたは毎日欠かさず数キロのジョギングをしているとします。もし GPS 端末を持って走れば、毎日の走行ルート、距離、平均速度、燃焼したカロリー数などを端末に記録して履歴データを管理できます。

ウェブをブラウジングする場合も、同じような履歴データが生成されてパソコンに保存されます。この場合に記録されるのは、アクセスしたサイトの履歴、ブラウザに送られてきた Cookie、あなたがダウンロードしたファイル、といった「ブラウザ」の履歴データです。ブラウザにパスワードやフォーム データを記憶させると、これもパソコンに保存されます。

こうしてパソコンに保存されたブラウザ データは、いつでもブラウザの [オプション] メニューや [設定] メニューから簡単に消去できます(メニュー名はブラウザによって異なります)。最新のブラウザの中には、「プライベート」モードや「シークレット」モードを備えたものもあります。たとえば、Chrome のシークレット モードでブラウジングすると、アクセスしたウェブページが履歴に記録されません。また、すべてのシークレット ウィンドウを閉じると、新たに保存された Cookie がすべて削除されます。このシークレット モードは、パソコンを他の人と共有している場合や、図書館やネットカフェの共用パソコンを使う場合に特に便利です。



こうしたプライバシー機能はすべて、パソコンに保存されているブラウジング データや、ブラウザからウェブサイトに送信する特定のデータを管理するためのものです。ブラウザのプライバシー設定では、ウェブサイトが既に持っているあなたのデータ(たとえば、以前そのウェブサイトに送信した情報)を管理することはできません。

ウェブサイトにアクセスしたときに、ウェブサイト側で取得できる情報を制限する方法もあります。多くのブラウザでは、プライバシーをサイトごとに設定でき、特定のデータ(Cookie、JavaScript、プラグインなど)をどう処理するかを指定できます。たとえば、リストに登録した信頼できるサイトからの Cookie のみを受け入れて、それ以外のサイトからの Cookie はブロックするというルールを設定することもできます。

プライバシーと効率は、常に相反する関係にあります。現実世界のさまざまなユーザー データやフィードバックを収集することは、ブラウザにとって機能や使い勝手の向上に大いに役立ちます。重要なのは、厳格

なプライバシー基準を守りつつ、プライバシーと効率の絶妙なバランスを見つけることなのです。

現実世界の例として、ブラウザの Cookie を考えてみましょう。Cookie には良い面がたくさんあります。よくアクセスするウェブサイトで、ショッピング カートの中身が記憶されていたり、毎回ログインしなくても済んだり、以前アクセスしたときの情報に基づいていろいろと快適にブラウジングできるのは Cookie のおかげです。一方で、ブラウザの Cookie を許可するということは、以前アクセスしたときの情報をウェブサイトが収集して保存できるということです。でも、Cookie はいつでもブロックすることができます。一度ぜひ、[オプション] または [設定] メニューからご自分のプライバシー設定を確認してみてください。

不正なソフトウェア、フィッシング、セキュリティ リスク

鳴き声はアヒルだけど実はアヒルじゃない

銀行の ATM を利用するときは、周りに注意を払って、怪しい人が暗証番号を盗み見しようとしていないか、あなたの現金を狙っていないか確認しますよね。中には偽の ATM などというものもあるようですが。一方、ウェブを見たりオンラインで手続きしたりするときには、「不正なソフトウェア」と「フィッシング」という 2 つのセキュリティ上のリスクに気を付ける必要があります。これらは、あなたの個人情報を盗んだり、パソコンを乗っ取ったりすることを狙った個人や組織による攻撃なのです。



このフィッシングや不正なソフトウェアって、実のところどんな攻撃なのでしょうか。

フィッシングは、誰か他の人になりすまして個人情報を盗もうとする行為です。多いのは、偽のウェブサイトを作って情報を入力させる手口です(「フィッシング(phishing)」という名前の由来は、電子的なエサを撒いて誰かが食い付くのを待つ手法からきています)。典型的なフィッシング詐欺では、あなたがいつも使っている銀行やウェブ サービスを装ったメールが届きます。件名は「口座情報更新のお願い」などとなっています。このメールにはフィッシング リンクが記載されていて、クリックすると銀行のウェブサイトが表示されるのですが、実はこれが偽のウェブサイトなのです。ログインしてくださいというメッセージを見て、思わず口座番号、クレジットカード番号、暗証番号などを入力してしまい、大事な情報を犯罪者に教えることになるのです。

もう 1 つの「不正なソフトウェア」とは、知らないうちにパソコンにインストールされてしまう悪質なソフトウェアのことです。ウイルス対策のためソフトウェアをダウンロードするように言われて、ダウンロードしたらそれ自体がウイルスだったというケースや、ウェブページにアクセスしただけでインストールされてしまうケースもあります。こうした不正なソフトウェアには、クレジットカード番号やパスワードを盗むために開発されたものや、パソコン自体に危害を加えるものもあります。不正なソフトウェアがインストールされてしまうと削除するのが難しいだけでなく、そのソフトウェアがすべてのデータやファイルにアクセスして情報を他の場所に送信してしまうため、パソコンが大損害を受けることになります。



このようなフィッシングや不正なソフトウェアの攻撃を最前線で防御するのが最新のウェブブラウザです。最新のブラウザなら、たとえばウェブページを解析して不正なソフトウェアが潜んでいないかを調べ、万が一見つかったら警告を出してくれます。

しかし、犯罪者が常に洗練された高度な技術を使ってあなたのパソコンを乗っ取ろうとしてくるとは限りません。非常に巧妙な手口で、あなたの判断ミスを誘ってくるかもしれないのです。この後のいくつかの章では、オンラインで身を守るためにどのような判断を下せばよいか、その点でブラウザやその他のウェブ テクノロジーがいかに役に立つかについて説明します。

最新ブラウザでの不正ソフトウェアとフィッシングの防止方法

ろくでなしに注意!

最新のブラウザは、フィッシングや不正なソフトウェアの攻撃からあなたを守ってくれます。インターネットに接続した際に、次の 3 種類のセキュリティ上のリスクを軽減してくれます。

リスク 1: 攻撃を受ける頻度

あなたが攻撃を受ける可能性があるのは、不正な偽ウェブサイトにアクセスしたときです。有名なサイトが既に何者かに乗っ取られていて、そのことを知らずにアクセスする場合もあるかもしれません。最新のブラウザのほとんどは、表示する前にウェブページをチェックし、不正サイトの疑いがあれば警告を出してくれます。ユーザーは、この警告を踏まえてそのページにどうしてもアクセスしたいかどうかを判断します。



たとえば、Google Chrome にはセーフ ブラウジング技術が採用されています。この技術は、他にもいくつかの最新ブラウザで利用されています。あなたがウェブページを表示しようとすると、フィッシングや不正行為が疑われているウェブサイトのリストとすばやく照合します。このリストは、ブラウジング時のプライバシー保護のため、あなたのパソコンの中に保存されています。リストに一致するウェブページが見つかると、より詳しい情報のリクエストが Google に送信されます(このリクエストは、プレーン テキストではなく、まったく判読できない形式で送信されます)。Google の検証で一致が確認された場合は、危険なページに移動しようとしていることを示す赤色の警告ページが表示されます。

リスク 2: 攻撃を受けた場合のブラウザの脆弱性

更新していない古いブラウザは、攻撃で弱点を突かれる可能性が高いと言えます。古くなったソフトウェアはすべてこの問題を抱えています。

オペレーティング システムも、ブラウザも、プラグインもそうです。だからこそ、最新バージョンのブラウザを使うことや、オペレーティング システム、プラグインのセキュリティ パッチをなるべく早く適用して、最新のセキュリティ修正プログラムに更新しておくことが重要なのです。

ブラウザによっては、更新を自動的に確認し、ユーザーの指示でインストールする仕組みになっています。Chrome をはじめとする一部のブラウザには、もう一歩進んだ自動更新機能が組み込まれています。更新を定期的に確認し、ブラウジングを中断することなく自動的に最新バージョンに更新してくれます。さらに、Chrome には人気の Adobe Flash Player と PDF ビューアが統合されていて、これらのプラグインも自動的に更新されます。



リスク 3: ブラウザに脆弱性が見つかった場合のダメージの大きさ

Chrome や Internet Explorer などの最新のブラウザには、「サンドボックス」という保護レイヤが追加で組み込まれています。サンドボックスとは「砂場」のことです。実際の砂場は、砂が周りの土と混ざってしまわないよう壁で囲まれていますよね。ブラウザのサンドボックスも同じように、不正なソフトウェアやセキュリティ上の脅威がパソコンに悪影響を及ぼさないように隔離された環境を提供します。あなたが不正なウェブページを開いても、ブラウザのサンドボックスのおかげで悪質なコードがブラウザの外に出ることはなく、ハード ドライブにインストールされることもありません。これなら、悪質なコードからパソコン内のデータを読み取られたり、変更されたり、破壊されたりする心配はありません。

つまり、最新のブラウザは、いろいろな方法でセキュリティ上の脅威からあなたを守ってくれています。第一に、表示しようとしたウェブサイトが不正サイトやフィッシング サイトではないかをチェックしてくれます。

第二に、より新しくて安全なブラウザ バージョンが見つかると、更新を通知したり自動更新したりしてくれます。第三に、サンドボックスを備えているため、悪質なコードからのパソコンへのダメージを防ぐことができます。

この後いくつかの章で、ウェブ アドレスの基本について説明します。この点を理解しておくと、アドレスを見ただけでそのサイトにアクセスしてよいかどうかを判断できるようになります。

ウェブ アドレスをチェックして安全をキープ

URL 名は体を表す

URL の本当の名前は「ユニフォーム リソース ロケータ」といいます。何だか難しそうな名前ですね。でも心配はいりません。簡単に言えば、ブラウザに入力するウェブ アドレスのことです。

これを指定すると目的のウェブページやウェブアプリケーションにたどり着くことができるのです。

URL を入力すると、世界のどこかにあるサーバーからそのウェブサイトが取り出されます。



そして、インターネットを経由してあなたのところまで転送されて、最終的にパソコンのブラウザに表示されます。URL の例をいくつかご紹介しましょう。

...イギリス BBC のニュース ウェブサイトの URL です(「.co.uk」は英国に登録されていることを表します)。

...Google の検索エンジンの URL です。

...マドリッドのプラド美術館(Museo Nacional Del Prado)の URL です(「.es」はスペインに登録されていることを表します)。

...バンク オブ アメリカのオンライン バンキング ウェブサイトの URL です(「https://」は接続が暗号化されていることを表します)。



URL はあまり気に留めない人も多いかもしれませんが、その内容について理解しておくとフィッシング詐欺などのセキュリティ攻撃から身を守るのに役立ちます。

URL の内容について例で見てみましょう。

http://www.google.com/maps スキーム ホスト名 パス トップ レベル ドメイン

URL の先頭部分をスキームと呼びます。上の例では、HTTP がスキームです(HTTP は HyperText Transfer Protocol の略です)。

次の「www.google.com」は、このウェブサイトが存在しているホストの名前です。誰かが、またはどこかの企業が新しいウェブサイトを開設するときには、そのウェブサイト用にホスト名を登録します。このホスト名を使用できるのは登録した所有者だけです。この点が重要ですのでよく覚えておいてください。

URL によっては、ホスト名の後にパスが続きます。パスを指定すると、そのホスト内の特定のページを直接表示できます。本を読むときに、特定の章やページを直接開くのと同じですね。例では、このパスで「www.google.com のマップ ウェブアプリケーション(つまり Google マップ)を見たい」とホスト サーバーに伝えたことになります。このパスが、「maps.google.com」のようにホスト名の前に移動している場合もあります。この「maps」を「サブドメイン」といいます。Google ニュースなら「news.google.com」です。



では安全面について考えてみましょう。実は、ブラウザのアドレスバーに表示されている URL を注意深く見ることで、フィッシング詐欺サイトや偽のウェブサイトにアクセスしていないかどうかをチェックできるのです。特にホスト名には注意します。覚えていますか。ホスト名を使用できるのは、それを登録した本物の所有者でしたね。

たとえば、バンク オブ アメリカのウェブサイトに移動するため、あるリンクをクリックしたとしましょう。

本物の場合:

  • www.bankofamerica.com は、ホスト名が正しいので本物の URL です。
  • www.bankofamerica.com/smallbusiness も、ホスト名が正しいので本物の URL です。URL のパスが、スモール ビジネス向けのページを指しているだけです。

疑わしい場合:

  • bankofamerica.xyz.com は、バンク オブ アメリカのウェブサイトではありません。この「bankofamerica」は、ウェブサイト「xyz.com」のサブドメインです。
  • www.xyz.com/bankofamerica も、バンク オブ アメリカのウェブサイトではありません。この「bankofamerica」は、「www.xyz.com」のパスに過ぎません。

オンライン バンキングやその他の手続きで、パスワードや口座番号のような重要な個人情報を入力するときは、まずアドレスバーの URL をチェックしましょう。スキームが「https://」になっていることや、アドレスバーに南京錠のアイコンが表示されていることを確認してください。「https://」は、サーバーとブラウザの間のデータを安全な接続で転送していることを示します。



安全な接続を使用している場合、バンク オブ アメリカのウェブサイトの URL は https://www.bankofamerica.com となります。安全な接続を使用していれば、あなたが送信する重要な情報を誰かが盗み見たり傍受したりするのを防ぐことができます。つまり、「https://」になっているのは良いサインです。ただし、それでも URL のホスト名をチェックして、本物のウェブサイトにアクセスしているかどうかを確認することは重要です。安全な接続で安心させておいて実は偽のウェブサイト、ということもありますからね。

次の章では、ブラウザのアドレスバーに URL を入力すると正しいウェブページが表示される仕組みについて説明します。

IP アドレスと DNS

実体のない電話交換機

アドレスバーに URL を入力すれば、ブラウザが正しいウェブページを探してきてくれます。でも、どんな仕組みでそうなるのか不思議ですよね。

すべての URL、たとえば「www.google.co.jp」 にはインターネット プロトコルで定められた番号、

いわゆる「IP アドレス」が割り振られています。 IP アドレスは 66.249.89.104 のような番号で表されます。

IP アドレスの一連の数字を見れば、そのデバイスがインターネット上のどこにあるか、それが google.co.jp のサーバーなのかあなたのパソコンなのかがわかります。



つまり電話番号のようなものです。電話番号さえ覚えていれば電話交換機を経由してその相手に通じるように、パソコンに IP アドレスさえ伝えれば、インターネットのどのデバイスとデータをやり取りすればよいかがわかるのです。

そうは言っても、地球上でインターネットに接続されているデバイスは 350 億以上もあります。こんな数の IP アドレスをすべてブラウザで管理しているわけではありません。ブラウザは、URL が入力されるたびに、ドメイン ネーム システム(DNS)という仕組みを使って IP アドレスを問い合わせているのです。DNS はウェブの「電話帳」です。電話帳では、たとえばピザ屋の電話番号を調べたいときは、店の名前から電話番号がわかります。DNS では、URL やウェブ アドレス(例: www.google.co.jp)から、必要な情報(この場合は Google のホームページ)を入手するための正確な IP アドレス(例: 66.249.89.104)がわかります。

つまり、ウェブブラウザに「google.co.jp」と入力すると、ブラウザが google.co.jp の IP アドレスを DNS に問い合わせ、その IP アドレスに連絡をとり、接続の確認応答が返ってきたら google.co.jp のウェブページをリクエストするのです。そうすると、その IP アドレスにある Google のサーバーが、リクエストされたウェブページをあなたのパソコンの IP アドレスに送り返し、それをブラウザが表示するというわけです。



ブラウザがウェブページを取得して読み込むプロセスは、電話をかける手順とよく似ています。電話をかけるときは、電話番号を探してダイヤルし、誰かが出たら「もしもし」と言って、相手の返事を待ってから話を始めます。うまくつながらない場合はかけ直す必要があるかもしれません。ウェブの場合は、これによく似たプロセスが一瞬で完了します。ブラウザに「www.google.co.jp」と入力して Enter を押すと、直後に Google のホームページが表示されます。

次の章では、ブラウザが取得して読み取るウェブサイトの身元を、EV 証明書を使って確認する方法について説明します。

オンラインでの身元確認

「○○さんでいらっしゃいますか?」

現実の世界では、情報を共有する相手に会うことができます。面と向かって話をしたり、銀行の支店のような安全な場所で会ったりすることができます。こうやって会うことで初めて、相手が信じられる人間かどうかを判断できるわけです。

しかしオンラインでは、ウェブサイトを運営しているのがどんな人かを判断できない場合がほとんどです。通常なら見た目の印象に頼りますが、その見た目も偽物かもしれません。たとえば、銀行のウェブサイトのロゴ、アイコン、デザインを完全にコピーした偽のウェブサイトも存在します。

まるで、本物そっくりの偽銀行の支店が近所にできるようなものです。

幸いなことに、特定のウェブサイトが本物かどうかを識別するためのツールがあります。ウェブサイトが EV(Extended Validation)証明書を発行している場合は、この証明書をもとにウェブサイトを運営している組織の名前を特定できます。



EV 証明書が提供する情報のおかげで、誤って重要な情報を偽のウェブサイトに渡すのを未然に防ぐことができるのです。

EV 証明書がブラウザ内でどのように機能するかを例で見てみましょう。銀行のウェブサイトで EV 証明書が検出されると、アドレスバーの南京錠アイコンとウェブ アドレスの間にある緑色の領域に銀行名が表示されます。

Chrome で EV 証明書が検出された場合の表示例

ほとんどのブラウザでは、EV 証明書が検出されると、このようにアドレスバーの緑色の領域に組織名が表示されます。この緑色の領域をクリックすると、そのウェブサイトのセキュリティ情報が表示され、そのデジタル証明書について調べることができます。



ウェブサイトが EV 証明書を取得するには、そのサイトの所有者に法的な根拠と権限があるかどうかについてのさまざまな審査に合格しなければなりません。先の例では、EV 証明書による bankofamerica.com の認証に問題はなく、これは本物のバンク オブ アメリカのウェブサイトだと判断できます。EV 証明書によって、ウェブ アドレスのドメイン名が現実世界に存在する特定の組織に関連付けられている、と考えることもできます。

重要な個人情報をウェブサイトに入力するのは、そのサイトを運営する組織が信頼できる場合のみにするのが賢明です。今後オンラインで何か手続きをするときには、必ずウェブサイトのセキュリティ情報を確認するようにしましょう。備えあれば憂いなしです。

より速いウェブへの進化

ウェブでの画像、動画、JavaScript の高速化

現在のウェブは、画像や写真、動画、高機能なウェブ アプリが至るところにあふれ、びっくりするほどビジュアルでインタラクティブな世界になりました。ウェブを使っていて本当にすごいと思うことの 1 つが、写真や動画をこんなに簡単に扱えるようになったことです。

家族旅行の写真をフォト アルバムで共有したり、戦場のジャーナリストが伝える映像をオンラインで見たり。

簡単なテキストとリンクだけだった昔とは大違いです。



でもこれってつまり、ブラウザがウェブページを読み込むたびに、これまでより多くのデータと複雑なコードを処理しなければならなくなったってことですよね。

どれくらい多くなって、どれくらい複雑になったのでしょう。びっくりするような統計値が出ています。

  • 画像と写真は、典型的なウェブページのおよそ 65% の情報量を占めるようになっている(ページあたりのバイト数で測定)。
  • YouTube には、1 分あたり 35 時間分の動画がアップロードされている。これを映画に換算すると、1 週間に 13 万本の長編新作映画が公開されていることになる(ポップコーンの売上はそんなに伸びないけど)。
  • 昔は数行だった JavaScript プログラムのソース コードが、今では数百キロバイトになっている。ウェブページやアプリケーションを読み込むたびに、この量を処理しなければならない。

では、データ量がこんなに増えたせいで、ブラウザによるページの読み込みは遅くなったのでしょうか。インターネットのスピードはかたつむりのようにゆっくりになってしまうのでしょうか。

たぶんそんなことにはなりません。コンピュータ科学者が送信やダウンロードに適した小さいサイズにファイルを圧縮する方法を発見したため、画像や写真はウェブで当たり前のようによく見かける存在となりました。ファイル圧縮形式として初期のころから人気があったのが GIF や JPEG です。その後プラグインが発明されたことで、初期の HTML の制約を気にする必要がなくなり、ウェブページに埋め込んだ動画をそのまま再生できるようになりました。



HTML5 に <video> タグが導入されたため、ウェブページへの動画の埋め込みやウェブページでの再生が簡単にできるようになりました。Google でも、ウェブ コミュニティと協力して WebM の開発を進めています。WebM は、ウェブの状況(処理能力や帯域幅)に適応できる動画形式を、オープンソースで開発して無料で提供しようとする試みです。WebM により、ネブラスカの農家のパソコンにもナイロビのスマートフォンにも、良質の動画を配信できるようになります。

しばらくの間は、大きな写真や画像をたくさん含むウェブページを読み込もうとするとまだ時間がかかるでしょう。だからこそ Google のエンジニアが、画像の品質や解像度を落とさずにもっと小さく圧縮する方法を日夜研究しています。成功するでしょうか。かなり期待してください。既に WebP という新しい画像形式が提案されていて、平均的な画像ファイルのサイズを 39% 小さくすることに成功しています。

最近では、ウェブブラウザで JavaScript コードを実行するためのエンジンも、これまでより高速にコードを処理できるよう再設計されています。Google Chrome の V8 をはじめ、こうした高速 JavaScript エンジンがウェブブラウザの中核部分になってきています。つまり、「JavaScript ベースのとてつもなく便利な次世代ウェブアプリケーションを作ったのに、JavaScript コードが複雑すぎてブラウザで動作しない」という状況にはならないということです。

ウェブページをより速く読み込むために、Chrome のような最新のブラウザで採用されているもう 1 つの手法が「DNS 事前解決」です。DNS ルックアップを通じて、ウェブ アドレスと IP アドレス間で変換を行うプロセスを「解決」と呼びます。DNS 事前解決とは、同じウェブページ内の他のリンクをまとめて問い合わせ、あらかじめそれらのリンクをバックグラウンドで IP アドレスに解決しておく手法です。



つまり、あなたがそのページ上の別のリンクを実際にクリックしたときには、リンク先のページを瞬時に表示する準備が整っているということです。Chrome では、アクセスの履歴も記録されているため、以前アクセスしたウェブページにもう一度アクセスすると、そのページ上のすべての関連リンクや要素が自動的に事前解決されます。

いつの日かブラウザが、どのリンクを事前解決するかだけでなく、どのウェブサイト要素(画像、動画など)を事前に取得しておいたらよいかを、ページの読み込み前に予測できるようになるのかもしれません。そうしたらウェブはもっと速くなりますね。

近い将来、ブラウザに新しいページを読み込むのにかかる時間を、図鑑のページをめくる時間ぐらいまで速くできればと思っています。

オープンソースとブラウザ

巨人の肩の上に立つ

現在のインターネットは、偉大なる先人たち、革新の境界を押し広げ、学んだことを惜しみなく共有してくれた技術者、思想家、開発者、組織の功績の上に成り立っています。

共有の精神はまさに、オープンソース ソフトウェアの核となる部分です。

「オープンソース」とは、ソフトウェアの内部構造(つまり「ソース コード」)をすべての人が利用できるようにすること、そしてそのソフトウェアをオープンかつ協調的な方法で開発することです。誰でもソース コードを見て仕組みを理解し、コードを調整したり、コードに変更を加えたり、他の製品やサービスで再利用したりできます。



オープンソース ソフトウェアは、ウェブのさまざまな部分で重要な役割を果たしています。ウェブブラウザもその 1 つです。オープンソース ブラウザである Mozilla Firefox が公開されたことで、いくつもの刺激的なブラウザ機能が新たな革新を遂げました。Google Chrome にも、Mozilla Firefox の一部のコンポーネントと、オープンソースのレンダリング エンジンである WebKit が使われています。その精神を受け継ぐため、Chrome のコードもオープンソースとして公開されており、世界中の誰もが Chrome の革新性を利用して独自の製品を開発できるようになっています。そればかりか、Chrome のソース コードを改善することもできるのです。

高速かつシンプルでより安全なオープンソース ブラウザのメリットを受けるのは、ウェブ開発者や Chrome を毎日使うユーザーだけではありません。Google のような企業も、オープンにアイデアを共有することからメリットを受けています。

優れたブラウザとは、すべての人により快適なブラウジングを提供し、ウェブを使用するユーザーをより幸せにするブラウザです。それと同時にウェブ アプリの開発者が最先端の機能を活用できるようにする必要があります。それがまたユーザーの幸せにつながるのですから。

オープンソース手法で開発できるのはブラウザだけではありません。ウェブ開発者に話を聞けば、その多くがオープンソースの Linux オペレーティング システムを搭載したコンピュータで開発をしていると言うでしょう。オープンソースの Apache HTTP Server を使ってウェブサイトをホスティングしている企業も多いはずです。これらはほんの一例に過ぎません。オープンソース コミュニティのすばらしい働きで、ウェブは今後もどんどん発展し続け、次世代の技術を支える基盤となるでしょう。

19 のことの次にくるのは...

クラウドで過ごす一日

...その 20 まできました。ここまでの内容をまとめましょう。

現在のウェブは、カラフルで、ビジュアルで、実用的で、エキサイティングで、忙しくて、友だちがいっぱいいて、楽しくて、信じられないくらい便利な場所です。私たちの多くは、インターネット上のクラウド コンピューティングを利用して生活するようになってきています。ブラウザでウェブベースのアプリケーションを使えば、ニュースを読む、映画を見る、友だちとチャットする、日々の手続きをオンラインで済ませる、なんてことができるのです。家にノートパソコンを忘れたとしても、世界中のどこからでもこうした便利な機能を利用できるのはウェブ アプリがあるからです。

こんな便利な生活が実現したのは、HTML、JavaScript、CSS などのウェブ標準、そして ブラウザ プラグインの進化のおかげです。HTML5 で新たに追加された機能により、独創的な次世代アプリを開発できるようになりました。

クラウドでは他にどんなことが実現しているのでしょうか。


  • 最新のブラウザを使うと、不正なソフトウェアやフィッシングから身を守ることもできます。
  • オープンソース共有のおかげでブラウザ機能は向上し、より速く、より複雑で、より充実したウェブに進化しました。オープンソースに集結された知識は、今後のウェブに明るい未来をもたらすでしょう。
  • では明るい未来ではどんなことが実現するのでしょうか。ブラウザの 3D 化より高速なウェブ、すべてのデバイスの同期、それ以外にもいろいろなすばらしいことが実現します。
  • 見識あるウェブの住人になるには、ある程度の知識を身につけておく必要があります。たとえば、Cookie をはじめ、ブラウザでさまざまタイプのコンテンツを管理するためのプライバシー設定について知っておかなくてはなりません。
  • 接続する URL をチェックする、「https://」の安全な接続EV 証明書を確認するなど、ブラウザからのサインに気を配るようにすると、ウェブをもっと安全に利用できます。

それでは最後に 3 つだけ。

何よりもまず、最新のブラウザを使いましょう。少なくとも新しいものを試してみて、より快適にブラウジングできるかどうか、あなたのニーズに合っているかどうかを確かめてください。

ウェブは進化し続けています。それもダイナミックに!HTML5、CSS3、WebGL といった最先端のウェブ技術をどんどん利用してください。こうした技術の発展が、ウェブ コミュニティの想像力をかきたて、革新的なウェブ アプリの未来を作るのです。

新しいことを試しましょう。ウェブは毎日進化していて、どんどんエキサイティングな場所になっています。オンラインでできるなんて思ってもみなかったこともぜひ試してみてください。たとえば、十世代前の先祖までさかのぼってみるとか、ヒマラヤ登山のベースキャンプの映像をリアルタイムで見るとか。「こんなこともできるの?」とびっくりするかもしれませんよ。