【月間10万PV達成】ブログの作り方を無料公開中!

HTTP(HTTPS)通信の仕組みとは?IPアドレスやポートも初心者向けに解説!

Web通信の仕組み

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

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

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

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

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

Webシステムの仕組み「クライアントサーバシステム」と「Web三層構造」の仕組みとは

この記事を読んで、通信のすべてを理解しよう!

HTTP(HTTPS)通信の仕組みとは

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

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

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

ハイパーテキストとは

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

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

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

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

難しく考えなくて大丈夫。

よく見る企業ホームページを表示させるために必要な「ファイル」のことだと思ってもらえればいいです。

ハイパーテキストは、Webページを表示させるためのファイルだよ!

HTMLとは

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

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

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

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

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

Webサーバの仕組み

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

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

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

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

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

HTTPでデータのやりとりをするのが「Webサーバ」と「Webクライアント」の役割ってことだね!
WebサーバとはWebサーバとは何か?仕組みやソフトウェアの種類をわかりやすく解説!

HTTP(HTTPS)とは

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

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

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

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

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

HTTPSは、HTTP通信をより安全(セキュア)におこなうためのプロトコルで、最後の「S」はセキュア(Secure)をあらわしています。

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

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

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

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

HTTPやHTTPSは、通信ルールの1つなんだね!

IPアドレスの仕組みとは

IPアドレスの仕組み

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

では、そのWebサーバには、具体的にどのようにアクセスしているのでしょうか?

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

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

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

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

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

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ファイルを、ブラウザに渡す

ざっとこんな感じ。

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

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

次は「Linuxの仕組み」について、学んでいくといいでしょう。

さらに知識を深めることができるはずです。頑張ってください!

またね、キツネ(@kitaaaa_kitsune)でした!

【Web入門】システム開発の基本知識を勉強しよう!【初心者】【Web入門】システム開発における基本的なIT知識を勉強しよう! 【Linux入門】基礎知識の勉強まとめ!構築方法やコマンドを学習する【Linux入門】基礎知識や構築、使い方の勉強【初心者向け学習】
テキストのコピーはできません。