ウェブに関する基礎知識・インフラ
注意事項!!!
この記事に限らず、記事の初めの部分だけを見て離脱されると誤った形で情報を覚えてしまう可能性があります。しっかり目次を見て記事を読んでください。
記事を書く"前"のウェブに関する知識の理解度
今のウェブに対する理解度を確認しようと思います

画像に書いてあるものが今の理解度をかなり正確に表しているのですが、一応文字でも説明します。
まずウェブにアクセスするにはスマホ、タブレット、PC等のインターネットに接続できる機器が必要で、そこからインターネットに接続したら基本的にはインターネット上に公開されているウェブサイトにアクセスできるようになる考えてます。
とりあえず現在はこのような理解です。ここからいろんな情報にあたって理解度を変えていきたいと思います。
Edge,Chrome,Firefox等の検索エンジン?
すごく大きな勘違いが見つかりました。蒙昧でした
まず僕が検索エンジンとして挙げたEdge,Chrome,Firefoxは“検索エンジンではありません。”
多くのウェブの初心者は、検索エンジンとブラウザーを混同しています。明確にしましょう。 出典:ウェブの閲覧
まさに僕です。
じゃあ検索エンジンは何のことを指して、Edge,Chrome,Firefoxはどう呼べばいいのかはこの文章の下にあり、
ブラウザーはソフトウェアの一つで、ウェブページを受け取り表示するものです。検索エンジンはウェブサービス(および、ふつうはウェブサイト)であり、人々がほかのウェブサイトからウェブページを探すのを手助けします。 出典:上記の引用と同じ
とありました。
すこし整理すると、ウェブブラウザーはウェブページを受け取って表示するソフトウェアで、Edge,Chrome,Firefoxがブラウザーに該当します。
そして、検索エンジンはほかのウェブサイトからページを探すのを手伝うウェブサービスです。Google検索、Bingがこれに該当します。
このサイトの別の記事で用語集をまとめていますが、より詳しく用語を見たい場合はウェブの閲覧を見てみてください。
インターネットにつながれば、公開されているサイトにアクセスできる
はじめに僕はウェブサイトにアクセスするためのプロセスを、Edge,Chrome,Firefox等の(検索エンジン)ウェブブラウザーから検索エンジンに、スマホ、タブレット、PC等からアクセスしてインターネットからウェブサイトにアクセスする、と書きましたが、ウェブのしくみによれば、
- ブラウザーがDNSサーバーにアクセス、ウェブサイトのあるサーバーの実際のアドレスを探す。
- ブラウザーはサーバーにHTTPリクエストメッセージを送信して、ウェブサイトのコピーをクライアントに送るよう求めます。このリクエストメッセージとクライアントとサーバー間でやりとりされるその他すべてのデータは、TCP/IPを使用してインターネット経由で送信されます
- サーバーがクライアントのリクエストを承認すると、サーバーはクライアントに“200 OK”というメッセージを送ります。これは「ウェブサイトを見ても大丈夫です!」という意味。そしてウェブサイトのファイルを、パケットと呼ばれる一連の小さな塊としてブラウザーに送信し始めます。
- ブラウザーは、これらの小さな断片を組み合わせて完全なウェブページを作り上げ、それをユーザーに表示します。
(出典:ウェブのしくみ)
だそうで、僕は下の画像の通り、アクセスから表示まで2段階でイメージしていましたが、実際はその間にこの4つの手順が入っているようでした。(1はスマホ、タブレット、PC等のインターネットにアクセスできるデバイス、2はインターネットを指しています)

そうなると初めの手順で出てきたDNSってなに?どういう働きをするの?って気になりますよね。
ウェブのしくみを読んだ僕の理解では、まずウェブアドレス(普段はgoogle.comのように見れる)という、ウェブ上の住所があるんですが、これが実際は192.0.X.Xのように覚えやすい文字列ではないのです。そこがDNSの出番で、すごくざっくり言うとブラウザーに入力したウェブアドレス(google.comなど)を特別なサーバーを用いて実際のアドレスに対応させてくれるのです。
次はパケットについてです。パケットには
- ヘッダー
- 内容
が含まれていて、分割してデータを送る理由は通信の効率化(紛失したパケット、破損したパケットのみ送り返す)、同時にリクエストが来た場合に対応するため(バラバラな順番でパケットを送信してもパケットヘッダーの情報から順番を並び替えれるため)だそうです。(出典:ウェブのしくみ)
記事を書き終えてきたあたりの理解度
最初から振り返ります。まず、クライアントがDNSサーバーにリクエストを送り、IPアドレスを対応させてもらう。サーバーにつながったらブラウザーがサーバーに対してHTTPリクエストメッセージを送信し、ウェブサイトのコピーを送ってもらうように頼む。リクエストがサーバーから承認されるとパケット単位でデータがブラウザーに送信され、最後にブラウザーがパケットを組み合わせてウェブが利用できるように表示されます。(クライアント、サーバー間でのデータやり取りはTCP/IPを使用し、インターネット経由で送信される)
現在のイメージ

記事を書く前のイメージ

書いてみて思ったのは、ウェブサイトのコピーをパケットで送信されてウェブが見られるのと、インターネットにつながっているからウェブサイトにアクセスできるのではなく、インターネットにつながっていることでDNSサーバーにもアクセスできるためウェブサイトを利用できることが全然イメージと違って興味深かったです。
もしここまで読んでくださった方がいるなら、記事を書く励みになります。読んでくれてありがとう!