4分SHAREツイートシェアはてブLINEPocketHTTP(HTTPS)通信の仕組みについて、「なんとなくはわかるけど...」って方が多いんじゃないでしょうか。実は、以下の用語を順番に理解することで、これらWeb通信の仕組みを簡単に理解できるようになります。HTTP(HTTPS)IPアドレスポート(PORT)ドメインDNS今回は、これらの用語がWeb通信とどのように関係しているのか、詳しく紹介していきます。この記事を理解するための前提知識として、以下の内容が必要になりますので、まだ読んでいない方はさきにお読みください。「クライアントサーバシステム」と「Web三層構造」の仕組みとはこの記事を読んで、通信のすべてを理解しよう!もくじHTTP(HTTPS)通信の仕組みとはハイパーテキストとはHTMLとはWebサーバとWebクライアントHTTP(HTTPS)とはIPアドレスの仕組みとはポート(PORT)の仕組みとはポートとはポート番号の種類ドメインの仕組みとはドメインとはDNSの仕組みとはまとめHTTP(HTTPS)通信の仕組みとはHTTP(HTTPS)通信の仕組みを理解するには、以下の用語を上から順番に理解していく必要があります。Protocol)では、1つずつ確認していきましょう!ハイパーテキストとはハイパーテキストとは、「テキストを超えたもの」って意味なんですけど、これだけじゃまったく意味がわからないですよね。具体的に説明すると、ただのテキストファイル(文書)ではなく、ほかのテキストファイルへのリンクを埋め込んで、テキスト同士が結び付けられたファイルを指します。ちなみに、このリンクのことを「ハイパーリンク」ってよびます。ハイパーテキストは、このハイパーリンクを含んでいるテキストってこと。難しく考えなくて大丈夫。見る企業ホームページを表示させるために必要な「ファイル」のことだと思ってもらえればいいです。Language)とは、さきほど紹介したハイパーテキストをマークアップする(書く)ための言語です。「エイチティーエムエル」って読みます。ハイパーテキストは、HTMLという言語のルールに従って書かれたファイルなんです。ハイパーテキストのことを「HTMLファイル」って呼んだりします。いうか、実務で「ハイパーテキスト」って使う人のほうが珍しいですね。「HTMLファイル」のほうが一般的だよ!WebサーバとWebクライアントHTMLファイルの作り方がわかったところで、それをWeb上に公開しなければ多くの人に見てもらえません。そこで、必要になるのが「Webサーバ」です。このWebサーバにHTMLファイルを事前に置いておくことで、ブラウザを通してHTMLファイルを取得できるようになるのです。このWebクライアントであるブラウザは、「HTTP」という決められたルールに従ってWebサーバにリクエストし、データを受け取っています。次は、この「HTTP」の仕組みについてみていきましょう。HTTPでデータのやりとりをするのが「Webサーバ」と「Webクライアント」の役割ってことだね!Webサーバとは何か?仕組みやソフトウェアの種類をわかりやすく解説!HTTP(HTTPS)とはWebクライアントとWebサーバ間では、互いにデータを送りあっていますが、このやりとりにはルールが存在します。Protocol)」です。HTTPとは、ハイパーテキスト(HTMLファイル)を転送するためのプロトコル(ルール)。ブラウザで開いたサイトのアドレスバーや、URLリンクなどでよく見る「http://〇〇〇」は、このHTTP通信を意味していたのです。Secure)」というものもあります。HTTPSは、HTTP通信をより安全(セキュア)におこなうためのプロトコルで、最後の「S」はセキュア(Secure)をあらわしています。このようなプロトコルに従って、HTMLファイルのやりとりをするのが「HTTP通信」というわけです。いまはHTTPの細かいルールがわからなくても大丈夫。業務で少しずつ覚えていけばいいのですから。ここで忘れないでほしいのは「HTTPというプロトコルで通信している」ということです。ちなみに、HTMLファイル以外にも、CSSや画像ファイルなんかのやりとりもできますよ。HTTPやHTTPSは、通信ルールの1つなんだね!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アドレスが「住所」なら、ドメインはその住所にある「建物名」ってこと。した住所は覚えられなくても、「渋谷駅」なら覚えられるもんね!DNSの仕組みとはでは、なぜドメインをブラウザのアドレスバーにいれるだけで、Webサイトが表示されるのでしょうか?それは、DNS(ドメインネームシステム)サーバが、ブラウザから入力されたドメインをもとに、IPアドレスを教えてくれるからです。ブラウザからドメインでアクセスDNSサーバにドメインを問い合わせるドメインからIPアドレスを探すIPアドレスをブラウザに渡すブラウザからIPアドレスでアクセスIPアドレスにドメインを設定したい場合は、ドメイン販売サイトなどから事前にお金を支払い、ドメインを購入する必要があります。使われているドメインを購入することはできないため、ドメインが重複する心配はありません。購入後、DNSサーバに「ドメイン」と「IPアドレス」をセットで登録することで、世界中のブラウザからドメインでアクセスできるようになるのです。これが、ブラウザのアドレスバーにドメインを指定してアクセスできる仕組みになります。DNSサーバは、世界中のあちこちにあるよ!まとめ実際のWeb通信の仕組みを、時系列で振り返ってみます。アクセスするブラウザは、ドメイン「example.com」のIPアドレスを、DNSサーバに問い合わせるブラウザは、DNSサーバからIPアドレスを取得するIPアドレスにあるマシンの「80」番ポートに、HTTP通信でリクエストを投げる80番ポートにあるWebサーバが、リクエストを受け取るWebサーバに置かれたHTMLファイルを、ブラウザに渡すざっとこんな感じ。ここまで理解できれば、HTTP通信の基本的な仕組みについてはバッチリです!今後わからないことが出てきても、その都度調べていけば大丈夫だと思いますよ。次は「Linuxの仕組み」について、学んでいくといいでしょう。知識を深めることができるはずです。:Web未経験からWebエンジニアへ!僕は高卒でアラサー、転職回数も多く、まったくの未経験でWebエンジニアになりました。勉強はしましたし、かんたんな道のりではなかったかもしれません。プログラミングは確実に自分が望む未来へと近づけてくれました。「学歴がない」「転職回数が多い」「アラサー」「未経験」...どれもエンジニアを目指すうえでは、まったく関係ありません。エンジニアになるために必要なものは「やる気」だからです。あなたも人生を大きく変えるつもりで本気でチャレンジしてみてください。プログラミングは、あなたが望む未来へ近づくための武器になるでしょう。高卒エンジニアの年収を大公開!副業で始めたブログの収入は?こんな記事も読まれてます関連する記事はこちら【Web入門】システム開発における基本的なIT知識を勉強しよう!「クライアントサーバシステム」と「Web三層構造」の仕組みとはWebシステムとは?ITインフラやミドルウェア、ソフトウェアの違いをわかりやすく紹介DBサーバとは?役割やデータベースの種類を初心者にもわかりやすく解説!APサーバの役割とは?Webサーバとの違いをしっかり理解しよう!Webサーバとは何か?仕組みやソフトウェアの種類をわかりやすく解説!この記事を書いた人キツネフリーランスエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。詳しいプロフィールはこちら。【初心者向け】Linuxとは?特徴やカーネルの仕組み、種類をわ...あなたが「なりたい自分」はどれ?エンジニアプログラミングブロガーフリーランスカテゴリーWebエンジニアDockerGitLinuxMySQLNginxRubyWebエンジニアの仕事道具・ツールエンジニアの働き方・将来性エンジニアの転職・就職プログラミングのスキルアッププログラミングの基本フリーランスブロガーアフィリエイトブログのアクセスアップアフィリエイトブログの始め方アフィリエイトブログの書き方アフィリエイトブログの稼ぎ方キツネエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。reserved.テキストのコピーはできません。