HTTPプロトコルとIPアドレスについて復習する

URLなどで"https://〇〇.com/"というのをよく見かけますが、この初めの"http"って一体なんなんだという疑問を持ちましたので、それと調べた結果をこのnoteに残します。意外とURLってよく使う割には奥深いものらしくて、通信方法からサーバーの居場所・送るデータの内容などをURL一つでできるらしく、そこらへんについても詳細に残していこうかと。


HTTPって一体なに?HTTPSとの違いは?

"HTTP"は"HyperText Transfer Protocol"の略で、通信手順のこと。そもそも"hypertext"ってのはいろんなデータ形式を一つの文書(テキスト)形式に表現したもの。要するにテキストデータってことですね。それをtransfer(通信)するためのprotocol(手段)がHTTPの役割らしい。

HTTPSってのは「httpがsecureだよー」って意味で、通信内容が漏れることのない安全なHTTP通信みたいなもの。安全な通信方法ってだけで、その根幹的な部分はHTTPと大きく変わりありません。


IPアドレスってそもそもなんだっけ?

コンピュータ同士で通信を行うには、どのコンピュータと通信をするかを決定しなければなりません。ここで使われるのがIPアドレスというやつです。

IPアドレスは"Internet Protocol Address"のことを指していまして、インターネットに接続できるデバイスには一つ一つにユニークなIPアドレスが割り振られています。Eメールアドレスのインターネットバージョンみたいなもので、これを使用してコンピュータの接続がなされます。

WebブラウザーでURLを直打ちしてサイトを閲覧することがありますが、このURL、例えば"https://www.materialmechanics.work"の"www.materialmechanics.work"の部分はドメインと呼ばれ、IPアドレスに対応する部分です。URLでドメインを打ち込む、あるいはIPアドレスを打ち込むことでコンピュータ同士の通信が開始されます。

クライアント側デバイスから、Webブラウザーなどで"https://www.materialmechanics.work"と打ち込むことで、「IPアドレスが/www.materialmechanics.workのサーバーから情報を頂戴!」とリクエストが送信され、それを受け取ったサーバーはリクエストに応じたレスポンスを返し、Webブラウザーで表示されます。


HTTPの役割について

最後にHTTPはどんな役割を担っているかについてです。

上ではIPアドレスとコンピュータ間の通信について書きました。クライアントとサーバーの通信時に、リクエストとレスポンスが経由する道筋がHTTPプロトコルです。

HTTPはステートレス(stateless)なプロトコルと言われます。ステートレスとは『状態を保たない』ということですが、何かの要求に対して何かを返すことしかしません。

クライアント「YESと言って!」 ←リクエスト

Webサーバー「YES」 ←レスポンス

こんな冷淡なやりとりしかしないわけです。WebクライアントからWebサーバへHTTP経由でリクエストを送り、それを受け取ったWebサーバはWebクライアントにHTTP経由でレスポンスを送って終わりという極めて素朴で冷たいやり取りがWebでは行われているのです。

Webに接続するデバイスにはIPアドレスが振り分けられており、それらで通信する際に最も使われるプロトコルがHTTPということになります。Webで一般的に使われるプロトコルがHTTPですが、他にもいくつか通信プロトコルが存在します。ファイル転送に適したFTP(File Transfer Protocol)やメールの送受信に使われるSMTP(Simple Mail Transfer Protocol)などがあります。

このnoteではここまでにします。HTTPのメソッドなどの詳細や、他の通信プロトコルについては別のnoteでまとめます。

この記事が気に入ったらサポートをしてみませんか?