20.4. ウェブについての基礎知識
ウェブブラウザを使う前に、ウェブについて最低限必要な知識を勉強しておきましょう。
インターネット #
最初に「インターネットとは何か」という定義をはっきりさせておきましょう。インターネットとは、全世界規模のコンピュータネットワークのことを指します。全世界規模のネットワークは今のところ 1 つしかないのでインターネットは固有名詞として扱われ、英語では “The Internet” のように定冠詞がつきます。
あんまりピンとこない人もいるかもしれませんが、みなさんが日々インターネットをどのように使っているかを振り返ると、インターネットが 1 つの巨大なネットワークであることを実感できると思います。みなさんはどのようにして「インターネットを使って」いるでしょうか?たとえばコンピュータや携帯電話からメールを送受信するときにはインターネットを使います。誰かがメールを送信すると、そのメールはインターネット内を流れ、最終的に相手の端末に届きます。メールが送れるということは、送り手と受け手の端末が有線なり無線なりで物理的に繋がっていることに他なりません。メールアドレスさえ知っていれば誰にでもインターネット経由でメールが送れますから、メールを送受信できる端末は全てインターネットという 1 つのネットワークに繋がっています。これ以外にもインターネットには、通信がうまくいくようコントロールするためのコンピュータなどが星の数ほど繋がっているのです。
ウェブページを見るときもインターネットを使います。みなさんが普段見ているウェブページも、その実態は世界のどこかにあるコンピュータに保存されたいくつかのファイルです。たとえばこのはいぱーワークブックは東京大学内のコンピュータに保管されています。そのコンピュータとあなたが今使っているコンピュータがインターネットを経由して繋がっているおかげで、今こうしてはいぱーワークブックが見られるわけです。
WWW (World Wide Web) とウェブブラウザ #
さて、ウェブブラウザの操作の中で一番大事なのは「リンクをクリックしてページをたどる」ということです。はいぱーワークブックのこのページを開くためにも、既に何回かリンクをクリックしているはずです。このようなリンクを使って情報をたどる仕組みのことをハイパーテキストと言います。特に、インターネット上で使われているハイパーテキストのシステムを WWW (World Wide Web) あるいは略してウェブといいます。WWW は
- ウェブページを保管しているコンピュータ (ウェブサーバ) と通信を行う方法 (HTTP)
- ウェブページの実体であるハイパーテキストを記述する方法 (HTML)
- ウェブページの場所を一意的に指定する方法 (URL)
という3つの要素から構成されます。そしてウェブブラウザとはウェブページを閲覧するためのソフトウェアです。みなさんがリンクをクリックすると、ウェブブラウザは
- URL 形式で書かれたウェブページの場所を認識し
- HTTP を使ってウェブサーバからウェブページのデータを取得し
- 取得した HTML 形式のデータを、人間に見やすいように表示する
という動作をしているのです。以下で簡単に URL と HTTP について説明をします。より詳しいことを知りたい人は 16.1. WWW のしくみ を見てください。
URL #
WWW での「住所」にあたるものを URL (Uniform Resource Locator) といいます。直訳すると「統一資源位置指定子」です。まさに住所ですね。ウェブページ内のリンク機能は、リンク先の URL を指定することで実現されています。
URL の構造を大雑把に説明します。たとえば ECCS のリンク集の URL は http://www.ecc.u-tokyo.ac.jp/links.html です。この URL は “http”, “www.ecc.u-tokyo.ac.jp”, “/links.html” という三つのパーツに分解されます。これらのパーツはそれぞれ通信プロトコル、ウェブページの置いてあるコンピュータの場所、コンピュータ内でのウェブページの場所を表します。つまり、URL は
- データにどのような方法でアクセスするか
- データがどこのコンピュータの中にあるか
- データが保管されているコンピュータの中でどこにあるか
という 3 段階でデータの位置を指定しているのです。最低限これだけは認識しておいてください。特に「どこのコンピュータの中にあるか」という情報は、検索で見つけたウェブサイトの情報がオフィシャルなものかどうかを判断したり、あるいはフィッシング詐欺を見破るのに役立ちます。
HTTP と HTTPS #
HTTP とはウェブブラウザなどのプログラムがウェブサーバと通信をするための規則 (プロトコル) のことです。略さずに書くと HyperText Transfer Protocol となります。ウェブページを見る分にはブラウザが勝手に HTTP で通信をしてくれるので、みなさんが HTTP の内容を知る必要はほとんどありません。ただ、ステータスコードと HTTPS だけは知っておくと便利なのでここで説明します。
ステータスコード #
ウェブブラウザが HTTP を用いてウェブページを取得する手順は
- ウェブブラウザがウェブサーバに「このページのデータをください」とリクエストを送り
- リクエストを受けたウェブサーバが、ウェブブラウザに返事をしてデータを送る
という 2 段階に分かれます。このときウェブサーバが最初に送る返事に含まれる 3 桁の数字をステータスコードといいます。たとえば、ちゃんとウェブサーバがデータを送信できるときは “HTTP/1.1 200 OK” というメッセージが最初に送られてきます。この 200 がステータスコードです。
通常ステータスコードを目にすることはないのですが、何かしらのエラーが起きたときはウェブブラウザが画面にステータスコードを表示することがあります。たとえばウェブページが見つからないとき “HTTP 404 Not Found” というメッセージが表示されることがあります。ウェブサーバは、リクエストのあった URL にファイルが存在しないときはステータスコード 404 を返すようになっています。これが画面に表示されていたのです。他にも様々なステータスコードがありますが
- 400 番台はウェブブラウザ側のエラー
- 500 番台はウェブサーバ側のエラー
という規則があります。これを知っておくと、ウェブページが表示できなかったとき「404 が帰ってきたから URL 間違えたのかな」とか「500 が帰ってきたからサーバが混み合ってるのかな」などと原因を推測することができます。
HTTPS #
HTTPS とは HTTP over SSL の略です。ここに出てきた SSL (Secure Socket Layer) とは安全な通信を行うためのプロトコルです。ですので HTTPS は SSL を用いてウェブブラウザとウェブサーバが安全に通信をするためのプロトコルということになります。
通常 URL は http:// から始まりますが、プロトコルが HTTPS になるときは URL が https:// から始まるようになります。また SSL はサーバを認証する仕組み、つまり通信する相手が正しい相手なのかを判断する仕組みを備えており、正しく認証ができたときはウェブブラウザがその旨を表示します。パスワードなど他人に見られてはまずい情報を送るウェブブラウザでやりとりするときは、ちゃんと HTTPS による通信が行われているか確認する癖をつけましょう。