Webの基礎

【図解】Web通信(HTTP通信)の仕組みとは?初心者にも分かりやすく解説!

 

Aさん
Aさん
Web通信の概念が難しくていまいちよくわからない…
Bさん
Bさん
HTTPって結局なんなの?

 

本記事では、インフラエンジニアである私がこのような悩みを持っている方向けに図を用いて分かりやすく解説していきます。

実際に私もWeb通信の概念の理解に苦労しましたが、以下の用語を順番に理解していくことで、Web通信全体についても理解することができました。

  • IPアドレス
  • ポート
  • HTTP(HTTPS)
  • ドメイン
  • DNS

初心者にも分かりやすく噛み砕いた言葉で説明していくので、ぜひ最後まで読んでいただき、この機会に理解しちゃいましょう!

 

IPアドレスの仕組みとは

インターネット上でコンピュータとコンピュータがなぜ通信できているのでしょうか?

 

答えは、“IPアドレス”を使っているからです。

IPアドレスとは簡単に言ってしまうと、インターネット上の「住所」です。

私たちも手紙や荷物を送る際は必ず送り先の住所を書きますよね。

インターネットでも同じで、り先のIPアドレスを指定することで通信が可能になっているのです。

 

インターネットにはたくさんのコンピュータがつながっていますが、その一つひとつのコンピュータにIPアドレスは割り振られています。

IPアドレスにも種類がありますが、一般的に使われているIPアドレスの表記は、

192.168.32.11

のようにドットで区切られた数字の列で表されます。

IPアドレスは、インターネット上で通信を行うための住所のこと

 

ポートの仕組みとは

ポートとは

 

Aさん
Aさん
住所は分かったからマンションに住んでる友達に手紙を送ろうっと…。
あ、部屋番号が分からないから送れない!

 

先ほど説明した通り、IPアドレスはコンピュータの住所でしたね。

それとあわせて覚えてほしいのが、“ポート”です。

 

IPアドレスが住所なのに対し、ポートは部屋です。

その部屋の番号を“ポート番号”と言います。

 

Bさん
Bさん
マンションの住所が分かっても部屋番号が分からないと手紙や荷物は送れないね

 

このポート番号という部屋は役割によって分かれています。

この役割こそがサーバの役割なのです。

 

ポート番号は、マンションやアパートでいう部屋番号のこと

 

ポート番号の種類

サーバの役割ごとにそれぞれポート番号があります。

代表的なポート番号

Webサーバ…80(HTTP)、443(HTTPS)

DNSサーバ…53

SSHサーバ…22

まだまだたくさんありますが、こんな感じです。

Webサイトにアクセスする際は、WebサーバのIPアドレスとポート番号を指定してアクセスします。

 

Aさん
Aさん
いちいち指定してアクセスするんだ、めんどくさいね…

 

しかし、みなさんいちいちポート番号を指定してアクセスしているでしょうか?

 

実はWebサイトにアクセスする際に使用しているWebブラウザがうまいこと設定してくれているので、みなさんは気にせずアクセスてきているのです。

 

HTTP(HTTPS)の仕組みとは

 

Webサーバとの通信はHTTPというポートを使用しているということを先ほど説明しましたが、HTTPについてもう少し細かく見ていきましょう。

 

HTTPとは

HTTPとは“HyperText Transfer Protocol”の略で、ハイパーテキストを転送するためのプロトコルです。

ハイパーテキストとは、他のテキストファイルなどのリンクが埋め込まれたテキストファイルのことです。(例:HTMLファイル)

Webサイトが表示される仕組みは、Webサーバから送られてきたHTMLファイルが表示されるからです。

 

このWebサーバの仕組みをさらに知りたい方はこちらの記事をご覧ください。

>>【サーバの基本】Webサーバとは?分かりやすく解説します!

 

ブラウザで開いたサイトのURLを見ていると、「http://XXX」などと表示されていますよね。

それはまさにHTTP通信を意味しているのです。

 

HTTPSとは

 

Bさん
Bさん
サイトによっては“http”じゃなくて“https”と表示されているけど違うの?

 

実はだいたいのサイトは、「https://komodblog.com/」のようにHTTPSが使用されています。

 

HTTPSとは、HTTP通信を安全(セキュア)に行うためのプロトコルです

最後についている“S”は、セキュア(Secure)を表しています。

HTTPSだと通信内容が暗号化されるので、HTTPよりもより安全に通信ができるということです。

 

Aさん
Aさん
HTTPは“はがき”、HTTPSは“封筒”みたいなものか

 

ドメインの仕組みとは

 

Bさん
Bさん
そういえば、サーバと通信するときはIPアドレスを指定しないといけないんだよね?
でも、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アドレスを知る流れはざっくりとこんな感じ。

 

  1. ブラウザからドメインでアクセスする
  2. DNSサーバにドメインを問い合わせる
  3. ドメインからIPアドレスを探す
  4. IPアドレスをブラウザに渡す
  5. ブラウザからそのIPアドレスでWebサイトにアクセスする

 

ちなみにドメインは、ドメインの販売サイトなどからお金を払って購入する必要があります。

そして、DNSサーバにドメインとIPアドレスをセットで登録することで、世界中のどこからでもインターネット上でアクセスできるようになります。

DNSサーバは、世界中にたくさんあります。

 

Web通信(HTTP通信)の仕組み:まとめ

Web通信の流れをまとめるとこんな感じ。

Web通信(HTTP通信)の仕組み
  1. ブラウザから「https://komodblog.com/」にアクセスする
  2. ブラウザは、ドメインである「komodblog.com」のIPアドレスをDNSサーバに問い合わせる
  3. DNSサーバはブラウザにIPアドレスを渡す
  4. そのIPアドレスにあるWebサーバの80(443)番ポートにHTTP(HTTPS)通信でリクエストを投げる
  5. Webサーバがリクエストを受け取る
  6. WebサーバからHTMLファイルをブラウザに渡す

 

ここまで理解できれば、Web通信(HTTP通信)の基本的な仕組みについては大丈夫です。

 

さらに理解を深めたい方はこちらの記事に初心者向けのおすすめの良書を紹介しているのでご覧ください。

>>【プログラミング初心者必見】Webの仕組みを理解するための入門書4選

 

Webについて学んだあとはLinuxについて学ぶといいでしょう。さらに知識を深めることができるはずです。

最後まで読んでいただきありがとうございました。

 

【初心者向け】Linuxとは?【特徴やできることを分かりやすく解説】サーバーや開発環境など様々な用途で使用されるLinuxは、もはやエンジニアにとって必要不可欠なものであると言っても過言ではありません。 ...
RELATED POST