インターネットとかSNS(Facebookとかツイッターとか)を普段なにげに利用はしているものの仕組みがよくわからない人のために、難しいことは置いておいて、こんなカンジでイメージしておけばいいかなーっていうレベルで記事を書いてみました。専門家でない人には細かい部分は必要のない情報だと思うので、その辺りの話はあえてふれませんでした。いろいろとツッコミどころはあると思いますがご容赦ください。
インターネットでWebページが表示されるしくみ
インターネット上に存在するいろいろなWebページ(ホームページ、Webサイトとも言いますね)を見る時に「ブラウザ」と呼ばれるソフトウェアを利用すると思います。このブラウザのおかげで簡単にWebページを表示することができます。
ブラウザ上でURLとかアドレスを指定すると、Webサーバに対して「Webページのデータをください。」とお願いをします。お願いがWebサーバに届くと、要求したWebページのデータがWebサーバから送られてきてブラウザ上に表示されます。ページ上のリンクやボタンをクリックした場合も同様にWebサーバへお願いをしているだけです。
Webサーバ上にはWebページを表示するためのデータファイルが保存されています。HTMLという言語で書かれたファイルや画像ファイル、音声ファイル、動画ファイルなどさまざまなデータファイルが保存されています。Webサーバはこれらのファイル群から要求されたファイルを取り出してブラウザへ送っています。
ブラウザのおかげでWebページがきれいに表示される
Webサーバが送ってくるWebページのデータは普段みなさんが見ているようなWebページの形にはなっていません。これらのデータを整えて見やすい形にするのはブラウザの役目になります。Webのデータファイルには文字や画像の位置、レイアウト、文字の色、文字の大きさなどWebページ構成が書かれているので、それに従ってブラウザはWebページを表示します。このようなページ構成を指定して書かれた文書がHTMLファイルといわれるファイルです。
ブラウザがHTMLを解釈して見やすいWebページにしてくれる
通信の決まり事
Webページを表示するときにはWebサーバと通信を行っていますが、この通信はHTTPというプロトコル(規約、決まり事)に従って行われています。実際にWebサーバに「Webページのデータをください。」とお願いする場合もこのHTTPの決まりに従ってデータの塊(かたまり)を送信します。WebサーバがWebページのデータを送ってくる場合もHTTPの決まりに従ってデータの塊を送ってきます。このデータの塊がいわゆる「パケット」というものになります。メールを送るときにもやはりメール用の決まり事があってその際にやりとりされるデータの塊も「パケット」です。スマホの通信料でよく出てくる「パケット」はこのようなWebの通信やメールの通信でやり取りされるデータの塊のことを指しています。
Webページを表示する場合のデータのやり取りはこの「パケット」で行っているので、ファイルを1つ送信するのにもたくさんの「パケット」が取り交わされます。これらをまとめて1つのファイルにしたりするのもブラウザ(とOS)がやってくれています。(メールの場合はメーラーと呼ばれるメールのソフトウェアがやってくれています)
Webサーバ
Webサーバと聞くと何か特殊なコンピュータみたいなイメージがありますが、これもWebサーバソフトウェアがインストールされたコンピュータというだけで普通のPCとたいして変わりません。(実際は高性能なCPU、ディスク(SSD)、メモリを搭載したコンピュータであることがほとんどですが)
Webサーバソフトウェアをインストールして設定すれば普通のノートPCでもWebサーバとして使うことができます。個人で簡単なWebサイトを作ったりする場合はこれでも何とかなったりします。
商用やたくさんの人が集まるWebサイトを作る場合、「Webページのデータをください。」というお願いが一度にたくさん来ることを想定してWebサーバの性能を高めにしておく必要があります。ただ、個人でこのような環境を構築するには費用と設定のスキルなどが必要になるため、レンタルサーバなどのサービスを利用したりします。レンタルサーバはきちんとした技術者によって設定された高いスペックのマシンを「間借り」するイメージになります。
世界とつながるインターネット
インターネットでWebページを見る場合はWebサーバとの通信をしているという話をしましたが、これらのWebサーバは日本国内だけでなく世界中に存在します。当然、日本から海外のWebサーバへ通信していることも多々あります。通信するには糸電話のように何かしら通信網でつながっている必要があります。海で隔てられた海外のWebサーバとはどのようにつながっているのかというと実は海底ケーブルや通信衛星でつながっています。余談ですが海底ケーブルはサメに噛まれたり、船のイカリで破損したり、漁の網が引っかかることもあるようです。
HTMLが理解できたらこちらの記事もオススメです→「とりあえず難しいことは抜きにしてJavascriptっていったい何なの?」