## クリックした瞬間、冒険が始まる
リンクをクリックしてからページが表示されるまで、だいたい 0.5 秒くらい。まばたき 1 回分にも満たない時間です。でもこの短い間に、あなたのスマホやパソコンは世界中を駆け回る大冒険をしています。その裏側をのぞいてみましょう。
## ステップ 1: 住所を調べる - DNS という電話帳
あなたが「example.com」というリンクをクリックすると、まずブラウザは「example.com ってどこにあるの?」と調べ始めます。
これは電話帳で名前から電話番号を調べるのと同じです。インターネットの世界では、すべてのサーバーに「IP アドレス」という数字の住所 (たとえば 93.184.216.34) が割り振られています。人間は「example.com」のような名前のほうが覚えやすいですが、コンピュータは数字でないと相手を見つけられません。
そこで DNS (Domain Name System) という仕組みが、人間にわかりやすい名前を数字の住所に変換してくれるのです。インターネット版の電話帳、と覚えておきましょう。
ちなみに、一度調べた住所はブラウザが一時的に記憶しておきます。これを「キャッシュ」といいます。同じサイトに 2 回目以降アクセスするときは、電話帳を引き直す手間が省けるので、少しだけ速くなります。
## ステップ 2: 手紙を届ける - リクエスト
住所がわかったら、ブラウザはそのサーバーに「このページを見せてください」という手紙 (リクエスト) を送ります。
この手紙は光の速さに近いスピードで、海底ケーブルや光ファイバーの中を走っていきます。日本からアメリカ西海岸のサーバーまで、わずか 0.1 秒ほど。太平洋の海底を一瞬で横断するのだから、すごい話ですよね。
ちなみに、この手紙には「どのページが欲しいか」だけでなく、「どんなブラウザを使っているか」「どの言語のページが欲しいか」といった情報も一緒に書かれています。レストランで料理を注文するとき、「辛さ控えめで」「大盛りで」と伝えるようなものです。
## ステップ 3: 返事が届く - レスポンス
サーバーは手紙を受け取ると、「はい、どうぞ」とページのデータを返事として送り返します。これがレスポンスです。
返事の中身は、HTML (ページの骨組み)、CSS (デザインの指示書)、JavaScript (動きをつけるプログラム)、画像データなど、ページを表示するために必要なすべての材料です。
ブラウザはこの材料を受け取って、文字を並べ、色を塗り、画像を配置して、あなたが見ているページを組み立てます。料理でいえば、届いた食材を使ってシェフ (ブラウザ) が盛り付けまで仕上げるイメージです。
もしサーバーがページを見つけられなかった場合は、「404 Not Found」というエラーを返します。「ご注文の料理は品切れです」と言われるようなものですね。
## 短縮 URL の場合 - 転送という寄り道
短縮 URL をクリックした場合は、もう 1 ステップ増えます。
1. ブラウザが短縮 URL のサーバーに手紙を送る 2. 短縮 URL のサーバーが「本当の届け先はこっちだよ」と転送先の住所を教えてくれる (これがリダイレクト) 3. ブラウザが本当の届け先に改めて手紙を送る 4. 本当のサーバーからページのデータが届く
リダイレクトは、郵便局の転送サービスに似ています。引っ越した人宛の手紙を、新しい住所に届け直してくれるあの仕組みです。短縮 URL のサーバーは「この短い住所に届いた手紙は、あの長い住所に転送してね」という指示を覚えているわけです。
寄り道が 1 回増えるので、ほんの少しだけ時間がかかります。とはいえ、その差は 0.05 秒程度。人間には気づけないレベルです。
## たった 0.5 秒のまとめ
リンクをクリックしてからページが表示されるまでに起きていることを整理しましょう。
1. DNS で住所を調べる (電話帳を引く) 2. サーバーにリクエストを送る (手紙を届ける) 3. サーバーからレスポンスが届く (返事をもらう) 4. ブラウザがページを組み立てる (届いた材料で料理を仕上げる)
短縮 URL の場合は、2 と 3 の間に「転送」が 1 回入ります。それでも全体で 1 秒もかからないのだから、インターネットの速さには驚かされます。
次にリンクをクリックするとき、「今まさに世界を横断する冒険が始まっている」と想像してみてください。ちょっとだけワクワクしませんか?
インターネットの仕組みをもっと深く知りたい方は、Web 技術の入門書 (Amazon) もおすすめです。