【Web通信の仕組み】HTTP、IPアドレス、ポート、全部まとめて解説

Web通信の仕組み

Web通信の仕組みについて、「なんとなくはわかるけど…」って方が多いんじゃないでしょうか。

実は、以下の用語を順番に理解することで、Web通信の仕組みを簡単に理解できるようになります。

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

今回は、これらの用語がWeb通信とどのように関係しているのかを詳しく紹介します。

この記事を理解するための前提知識として、以下の内容が必要になりますので、まだ読んでない方は先にお読みください。

HTTP通信の仕組み

HTTP通信の仕組みを理解するには、以下の用語を上から順番に理解していく必要があります。

  • ハイパーテキスト
  • HTML(HyperText Markup Language)
  • WebサーバとWebクライアント
  • HTTP(HyperText Transfer Protocol)

では、1つずつ確認していきましょう!

ハイパーテキストとは

ハイパーテキストとは、「テキストを超えたもの」って意味なんですけど、これだけじゃ意味わからないですよね。

もう少し具体的に説明すると、ただのテキストファイル(文書)ではなく、ほかのテキストファイルへのリンクを埋め込んで、テキスト同士が結び付けられたファイルを指します。

ちなみに、このリンクのことを「ハイパーリンク」ってよびます。

ハイパーテキストは、このハイパーリンクを含んでいるテキストってこと。

難しく考えなくて大丈夫。よく見る企業ホームページを表示させるためのファイルのことだと思ってもらえればいいです。

HTMLとは

HTML(HyperText Markup Language)とは、さきほど紹介したハイパーテキストをマークアップする(書く)ための言語です。エイチティーエムエルって読みます。

ハイパーテキストは、HTMLという言語のルールに従って書かれたファイルなんです。

だから、ハイパーテキストのことを「HTMLファイル」ってよんだりします。というか、実務でハイパーテキストってよぶ人のほうが珍しいですね。

キツネ

「HTMLファイル」のほうが一般的だよ!

WebサーバとWebクライアント

Webサーバの仕組み

HTMLファイルの作り方がわかったところで、それをWeb上に公開しなければ多くの人に見てもらえません。

そこで、必要になるのが「Webサーバ」です。

このWebサーバにHTMLファイルを事前に置いておくことで、ブラウザを通してHTMLファイルを取得できるようになるのです。

そして、このWebクライアントであるブラウザは、「HTTP」という決められたルールに従ってWebサーバにリクエストし、データを受け取っています。

次は、この「HTTP」の仕組みについてみていきましょう。

キツネ

HTTPでデータのやりとりをするのがWebサーバとWebクライアントの役割ってことだね!

HTTPとは

WebクライアントとWebサーバ間では、互いにデータを送りあっていますが、このやりとりにはルールが存在します。

そのルールが「HTTP(HyperText Transfer Protocol)」です。

HTTPとは、ハイパーテキスト(HTMLファイル)を転送するためのプロトコル(ルール)です。直訳そのままですね。

ブラウザで開いたサイトのアドレスバーや、URLリンクなどでよく見る「http://〇〇〇」は、このHTTP通信を意味していたのです。

ほかにも「HTTPS(Hypertext Transfer Protocol Secure)」というのもあります。

HTTPSは、HTTP通信をより安全(セキュア)におこなうためのプロトコルです。

このようなプロトコルに従って、HTMLファイルのやりとりをするのが「HTTP通信」というわけです。

いまはHTTPの細かいルールがわからなくても大丈夫。業務で少しずつ覚えていけばいいのですから。

ここで忘れないでほしいのは「HTTPというプロトコルで通信している」ということです。

ちなみに、HTMLファイル以外にも、CSSや画像ファイルなんかのやりとりもできます。

IPアドレスの仕組み

IPアドレスの仕組み

ブラウザからHTTP通信でWebサーバにアクセスできることはわかりました。

では、そのWebサーバには、どのようにアクセスするのでしょうか?

この仕組みを理解するうえで欠かせないのが「IPアドレス」です。

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

僕たちも荷物を送るときには、必ず送り先の住所を書きますよね。でないと荷物を届けられないですから。インターネットの世界でも同じなのです。

IPアドレスは「216.58.197.174」や「192.168.33.10」のようなドットで区切られた数列であらわします。

インターネットの世界には、たくさんのパソコンがありますが、その1つ1つのパソコンにこのIPアドレスが割り振られているのです。

ポート(PORT)の仕組み

ポートの仕組み

ポートとは

IPアドレスとセットで、もう1つ覚えてもらいたいのが「ポート(PORT)」です。

IPアドレスが住所なら、ポートは「部屋」です。

そして、その部屋番号のことを「ポート番号」といいます。

マンションの住所がわかっても部屋番号がわからないと荷物は届けられないですよね。

だから、アクセスするときは必ずIPアドレスとポート番号をセットで指定することになります。

その部屋には何があるのか?

実は、この部屋の正体が「サーバ」なんです。

つまり、ポート番号がわかれば、サーバの場所がわかるってことなんです。

ポート番号の種類

サーバには、必ずポート番号が存在します。

httpなら「80」、httpsなら「443」のように、ポート番号はある程度決まっていることが多いです。

よく使う代表的なサーバのポート番号はこれらです。

  • Webサーバ…「80(http)」「443(https)」
  • SSHサーバ…「22」
  • Mysqlサーバ…「3306」

キツネ

ポート番号は、サーバの設定ファイルを書き変えれば変更することもできるよ!

たとえば、Webサイトにアクセスする場合、Webサーバが起動しているマシンの「IPアドレス」と「ポート番号(80または443)」を指定しなければなりません。

「いつも、そんな面倒なことしなくてもWebサイト見れてるけど…」

はい、そうだと思います。僕もしてませんw

実は、Webクライアントであるブラウザは、Webサーバにアクセスするためのソフトウェアなので、わざわざ「80」や「443」と指定しなくてもブラウザの内部でうまく設定してくれているのです。

じゃあ、IPアドレスに関してはどうでしょうか?

これはドメインの仕組みを理解することで解決できます。

ドメインの仕組み

僕はさきほど、Webサイトにアクセスするには「IPアドレス」が必要だとお伝えしました。

ですが、いつもブラウザのアドレスバーに「http://example.com」のようなURLを入力するだけアクセスできているはずです。

実は、これには「ドメインの仕組み」が関係しています。

ドメインとは

ドメインとは、数値とドットからなるIPアドレスを「人間が覚えやすいようにつけた名前」のことです。

つまり、IPアドレスが「住所」なら、ドメインはその住所にある「建物名」ってこと。

  • ドメイン…「google.com」
  • IPアドレス…「216.58.197.174」

キツネ

長々とした住所は覚えられなくても「渋谷駅」なら覚えられるもんね!

DNSの仕組みとは

では、なぜドメインをブラウザのアドレスバーにいれるだけで、Webサイトが表示されるのでしょうか?

それは、DNS(ドメインネームシステム)サーバが、ブラウザから入力されたドメインをもとにIPアドレスを教えてくれるからです。

DNSの仕組み

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

IPアドレスにドメインを設定したい場合は、ドメイン販売サイトなどから事前にお金を支払ってドメインを購入する必要があります。

すでに使われているドメインを購入することはできないため、ドメインが重複する心配はありません。

購入後、DNSサーバに「ドメイン」と「IPアドレス」をセットで登録することで、世界中のブラウザからドメインでアクセスできるようになるのです。

これが、ブラウザのアドレスバーにドメインを指定してアクセスできる仕組みになります。

キツネ

DNSサーバは世界中のあちこちにあるよ!

まとめ

実際のWeb通信の仕組みを、時系列で振り返ってみます。

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

ざっとこんな感じ。

ここまで理解できれば、Web通信の基本的な仕組みについてはバッチリです!

今後わからないことが出てきても、その都度調べていけば大丈夫だと思いますよ。

テキストのコピーはできません。