初めに
web周りの学習をし始めた時に必ず出てくる「プロトコル」
いろんな参考書や動画で 「通信における決まりごと」 と解説されるのを見かけます。
...決まり事?なんの...?(←最初にプロトコルの解説見た時の僕です)
この記事では、リアルな例を交えながら、初心者向けにプロトコルの概念を解説します!
ヒジョーにざっくりとイメージを掴むための内容ですので、厳格で正確な説明ではないことご了承ください。
まずはイメージをざっくりと掴もう!
プロトコルとは「通信における決まりごと」と言いましたが、これを現実世界の例で考えてみましょう。
① 電話の会話ルール(諸説あるというかまぁ人によるが)
シーン:先輩に急ぎで電話して質問をしたい場合
- 発信者Aさん:「もしもし、○○です」(名乗る)
- 受信者Bさん:「もしもし、□□です」(名乗り返す)
- 発信者Aさん:「今大丈夫?」(相手の状況を確認)
- 受信者Bさん:「大丈夫だよ!」(応答)
この時、何を発言するか、何を伝えるかは人間界の場合はそれぞれに委ねられています。
どういうことかというと、
いきなり「今日の晩ご飯はカレー!」とか言おうと思えば言えますよね。(仲のいい?先輩に限る)
ですがコンピュータ世界やWeb検索においてはどうでしょう?
自分が望んでいない検索をブラウザに打ち込みますか?
サーバーから勝手に何かしらのデータ送られたいですか?
とまぁ、文脈のおかしな会話は辞めようねと。
このように 「お互いがスムーズにやり取りできるようにルールが決まっている」 というのがプロトコルの基本的な考え方です。
② 信号機のルール
道路を横断するとき、信号が 「赤」 なら止まり 「青」 なら進む、といったルールが決まっています。
もしこのルールがなかったら…
- ある人は「黄色だから進む」
- ある人は「黄色だから止まる」
- 車は「赤でも進む」
といった カオスな状態 になってしまいます。
信号機のように 「みんなが共通のルールに従うことでスムーズに進む」 のがプロトコルの役割です。
Webにおける具体的なプロトコルは?
では、コンピュータの世界ではどんなプロトコルが使われているのでしょうか?
① HTTPS(HyperText Transfer Protocol Secure)
みんなが普段使っている ブラウザ(Google Chrome や Safari など) は、Webサイトを表示するために HTTPS というプロトコルを使っています。
例えば、Googleで検索するとき、
https://www.google.com
と 「https://」 から始まっていますよね。
これは 「Webサイトを安全に閲覧するためのルール」 なのです。
ここでは簡単な説明にとどめますが、HTTPSの仕組みや機能の詳細など
気になる方はいろいろ調べてみると良いかと思います!
▼参考サイト
② その他のプロトコル
インターネットには さまざまな用途に応じたプロトコル があります。
プロトコル名 | 役割・用途 | 例 |
---|---|---|
HTTP | Webページの通信 | Webサイトの閲覧 |
FTP | ファイルの送受信 | サーバーとのデータ転送 |
SMTP | メールの送信 | GmailやOutlookの送信機能 |
POP3/IMAP | メールの受信 | メールアプリでの受信 |
SSH | サーバーへの接続 | リモート作業 |
DNS | ドメイン名解決 |
google.com → IPアドレス |
このように、それぞれ 目的に応じて異なるプロトコルが使われている ことが分かります。
まとめ
- プロトコルとは「決まりごと」 のこと。
- リアル世界でも「電話の会話ルール」「信号機のルール」などがプロトコルの一例。
- インターネット上では「HTTPS」「FTP」「SMTP」など用途ごとにさまざまなプロトコルが使われている。
- プロトコルがあるおかげで、世界中のコンピュータがスムーズに通信できる!
プロトコルの理解が深まれば、ネットワークの仕組みがもっと面白く感じられるはずです!
補足
プロトコルとポート番号の関係について詳しく知りたい方は、以下の記事も参考にしてみてください。