本記事では、インフラエンジニアである私がこのような悩みを持っている方向けに図を用いて分かりやすく解説していきます。
実際に私もWeb通信の概念の理解に苦労しましたが、以下の用語を順番に理解していくことで、Web通信全体についても理解することができました。
- IPアドレス
- ポート
- HTTP(HTTPS)
- ドメイン
- DNS
初心者にも分かりやすく噛み砕いた言葉で説明していくので、ぜひ最後まで読んでいただき、この機会に理解しちゃいましょう!
IPアドレスの仕組みとは
インターネット上でコンピュータとコンピュータがなぜ通信できているのでしょうか?
答えは、“IPアドレス”を使っているからです。
IPアドレスとは簡単に言ってしまうと、インターネット上の「住所」です。
私たちも手紙や荷物を送る際は必ず送り先の住所を書きますよね。
インターネットでも同じで、送り先のIPアドレスを指定することで通信が可能になっているのです。
インターネットにはたくさんのコンピュータがつながっていますが、その一つひとつのコンピュータにIPアドレスは割り振られています。
IPアドレスにも種類がありますが、一般的に使われているIPアドレスの表記は、
192.168.32.11
のようにドットで区切られた数字の列で表されます。
IPアドレスは、インターネット上で通信を行うための住所のこと
ポートの仕組みとは
ポートとは
あ、部屋番号が分からないから送れない!
先ほど説明した通り、IPアドレスはコンピュータの住所でしたね。
それとあわせて覚えてほしいのが、“ポート”です。
IPアドレスが住所なのに対し、ポートは部屋です。
その部屋の番号を“ポート番号”と言います。
このポート番号という部屋は役割によって分かれています。
この役割こそがサーバの役割なのです。
ポート番号は、マンションやアパートでいう部屋番号のこと
ポート番号の種類
サーバの役割ごとにそれぞれポート番号があります。
代表的なポート番号
Webサーバ…80(HTTP)、443(HTTPS)
DNSサーバ…53
SSHサーバ…22
まだまだたくさんありますが、こんな感じです。
Webサイトにアクセスする際は、WebサーバのIPアドレスとポート番号を指定してアクセスします。
しかし、みなさんいちいちポート番号を指定してアクセスしているでしょうか?
実はWebサイトにアクセスする際に使用しているWebブラウザがうまいこと設定してくれているので、みなさんは気にせずアクセスてきているのです。
HTTP(HTTPS)の仕組みとは
Webサーバとの通信はHTTPというポートを使用しているということを先ほど説明しましたが、HTTPについてもう少し細かく見ていきましょう。
HTTPとは
HTTPとは“HyperText Transfer Protocol”の略で、ハイパーテキストを転送するためのプロトコルです。
ハイパーテキストとは、他のテキストファイルなどのリンクが埋め込まれたテキストファイルのことです。(例:HTMLファイル)
Webサイトが表示される仕組みは、Webサーバから送られてきたHTMLファイルが表示されるからです。
このWebサーバの仕組みをさらに知りたい方はこちらの記事をご覧ください。
>>【サーバの基本】Webサーバとは?分かりやすく解説します!
ブラウザで開いたサイトのURLを見ていると、「http://XXX」などと表示されていますよね。
それはまさにHTTP通信を意味しているのです。
HTTPSとは
実はだいたいのサイトは、「https://komodblog.com/」のようにHTTPSが使用されています。
HTTPSとは、HTTP通信を安全(セキュア)に行うためのプロトコルです。
最後についている“S”は、セキュア(Secure)を表しています。
HTTPSだと通信内容が暗号化されるので、HTTPよりもより安全に通信ができるということです。
ドメインの仕組みとは
でも、Webサイトを表示するときは「https://komodblog.com/」のようなURLを指定しているけど…
実は、これにはドメインの仕組みが関係してきます。
ドメインとは
ドメインとは、数字で表されているIPアドレスを人間が分かりやすいようにした名前のことです。
つまり、IPアドレスが住所なら、ドメインはその住所の“建物名”ということです。
・ドメイン名…komodblog.com
・IPアドレス…163.44.187.84
DNSの仕組みとは
DNSとは、Domain Name System(ドメインネームシステム)の略で、ドメインとIPアドレスの関係を教えてくれます。
なので、WebサイトのURLを指定すると、DNSサーバがそのドメインをもとにアクセス先のIPアドレスを教えてくれるのです。
ドメインからIPアドレスを知る流れはざっくりとこんな感じ。
- ブラウザからドメインでアクセスする
- DNSサーバにドメインを問い合わせる
- ドメインからIPアドレスを探す
- IPアドレスをブラウザに渡す
- ブラウザからそのIPアドレスでWebサイトにアクセスする
ちなみにドメインは、ドメインの販売サイトなどからお金を払って購入する必要があります。
そして、DNSサーバにドメインとIPアドレスをセットで登録することで、世界中のどこからでもインターネット上でアクセスできるようになります。
DNSサーバは、世界中にたくさんあります。
Web通信(HTTP通信)の仕組み:まとめ
Web通信の流れをまとめるとこんな感じ。
- ブラウザから「https://komodblog.com/」にアクセスする
- ブラウザは、ドメインである「komodblog.com」のIPアドレスをDNSサーバに問い合わせる
- DNSサーバはブラウザにIPアドレスを渡す
- そのIPアドレスにあるWebサーバの80(443)番ポートにHTTP(HTTPS)通信でリクエストを投げる
- Webサーバがリクエストを受け取る
- WebサーバからHTMLファイルをブラウザに渡す
ここまで理解できれば、Web通信(HTTP通信)の基本的な仕組みについては大丈夫です。
さらに理解を深めたい方はこちらの記事に初心者向けのおすすめの良書を紹介しているのでご覧ください。
>>【プログラミング初心者必見】Webの仕組みを理解するための入門書4選
Webについて学んだあとはLinuxについて学ぶといいでしょう。さらに知識を深めることができるはずです。
最後まで読んでいただきありがとうございました。