初心者でも分かる!通信プロトコルのお話

記事キーワード

掲載日:2019年2月15日


Hello!,World! なべのみです。

今回のテーマは、通信プロトコルについてです。

プログラミング初心者の方からすると、プロトコルなんて言われても正直、別に必要ない知識じゃない?って思ってしまいますよね?

でもインターネット上で活躍をするウェブサイトをこれから作ろうとする方、主にプログラミング初心者の方としては、情報通信の種類ぐらいは知っておいて損はありません。

そこで今回は「通信プロトコル」についてお話ししたいと思います。

通信プロトコルとは?

通信プロトコルとは簡潔に一言で申しますと、

インターネット上の「情報の送受信方法における世界共通ルール」のことです。

世界中でコンピュータ同士が情報のやり取りをする現在、それぞれのコンピュータが独自の情報の送り方をしていたとすると、情報を受け取る側は困惑しますよね?

“このデータは受け取れたけど、あのデータが受け取れないよ?”

そのために設けられたのが「通信プロトコル」という名の世界共通規格(ルール)な訳です。

今回お話しするのは初心者の方向けにご紹介したい、代表的なプロトコルのお話です。

通信プロトコルには何があるの?

今回ご紹介する主要な通信プロトコルは以下の3つです。

①HTTP ②FTP ③TCP/IP

それでは最初の「HTTP」からお話していきましょう。

HTTP

「HTTP」とは、Hyper Text Transfer Protocol の頭文字を取って名付けられています。

これは”テキスト情報”を送受信するための通信規格(プロトコル)です。

HTTPと聞くと、

「あ~、URLに書いてる奴でしょ?」

と思い付く方もいるかと思いますが、まさにその通りです。

http://とか、https://なんて文字がURLの先頭に付いてますよね?

皆さんがウェブサイトを閲覧するとき、ブラウザの上にあるURL記入欄にURLを記述しインターネット上に送信(これをサーバーへ向けた”リクエスト”という)し、そのURLに該当するサーバーから情報が返ってくる(これをサーバーからの”レスポンス”という)ことで、皆さんの使用している端末でサイトを見ることができる訳です。

要するに、サーバーからテキスト情報が皆さんの端末へ送られて来ているんですね。

そのテキスト情報には画像を表示するための情報も含まれています。そうでなければサイトに掲載されている画像が読み込めませんよね。

FTP

「FTP」とは、File Transfer Protocol の頭文字を取って名付けられています。

これは「ファイルの送受信をするためのプロトコル」です。”ファイル”というと一般ユーザが日常でよく使う言葉に変えると”データ”の事を主に指しています、がっ!!、

画像データとか、Wordデータとか、Excelデータという言葉を仕事でも日常でもよく聞きますが、厳密にはこれらデータを”ファイル”と呼びます。

コンピュータの世界では”データ”と一言でいうと意味合いとしてかなり範囲が広すぎます。それこそHTTPでやり取りされるテキスト情報なども”データ”です。

その前提条件をしっかりと押さえていただいた上で話を続けます。

このファイルを送受信するために使用されている通信プロトコルがFTPとなります。

例えば、皆さんがシンプルなウェブサイト(ランディングページなどの静的なサイトをイメージください)を制作したとします。

この時に用意したデータには、HTML や CSSといったファイル、画像を使用するのなら画像ファイルやその他もあります。

皆さんが制作・用意するファイルが上記のようなものですね。

こうしてウェブサイトに必要な材料を手元に揃えた後、いよいよそれらファイルをアップロードすることでインターネット上に公開しようとします。

この時、HTML,CSS,画像といったファイルのようないわゆる”生のデータ(あえて理解しやすいよう日常に近い側の表現をしてます)”を、公開用のサーバーに送る必要があります。

このような自分のパソコンから公開用のサーバーに向けてファイル(生のデータ)を送信するときに利用するプロトコルが、FTPなのです。

まとめると、ファイルを送受信するためのプロトコルです(初めの言葉に戻りますね)。

TCP/IP

TCP(Transmission Control Protocol) / IP(Internet Protocol)とは先のような頭文字を取ったもので、インターネット上における情報の送受信を確実に行うための制御に関するプロトコルです。

インターネット上で情報のやり取りをする上で必ず使われているプロトコルです。

情報の送受信に関わる操作を全て制御していると言って良いでしょう。

TCPとIPはそれぞれ別ものですが、この2つでセットと覚えてください。

TCPが何をしているかと言いますと、データを確実に送るための制御をしています。ざっくりし過ぎなのでほんの少しだけ詳しく言いますと、例えばデータが送受信の途中で何らかの原因で中断してしまっても再度データを送受信するよう制御したりする仕組みです。

しっかりとデータが届いているかどうか管理をするのが「TCP」です。

もう一方のIPが何をしているかと言いますと、インターネット上の住所を識別し、目的のコンピュータまでのルートを制御しています。舵取りのようなものですね。

TCPでしっかりとデータを送る仕組みを整えていたとしても、肝心なデータの行き先と行き方を決めないと、送れるものも送れませんよね?この部分の制御を担当しています。

総括

ここまでのお話を総括すると、インターネット上のデータのやり取りに関する根底部分を支えているのが「TCP/IP」。

その上で扱うデータが例えば”ファイル”であれば「FTP」、テキスト情報であれば「HTTP」というプロトコルが使われています。

今回はここまで!これだけでもだいぶざっくりした内容が理解できたのではないでしょうか。

それではさようなら!

なべのみ