インターネットを利用する上で必須のHTTPを理解しよう
インターネットを構成する重要な要素であるHTTPの仕組みを理解しよう!
昨今、Web3やブロックチェーンなど新しいテクノロジーが誕生しており、そのテクノロジーを如何に活用するか、という話題を良く聞きます。新しいテクノロジーが生まれること自体は非常に良いことですが、それが誤って認知されたり、また拡散されることも増えています。
ITにおける様々なテクノロジーは一見、非常に難しく見えるものもありますが、基本を押さえればその知識を基により応用的な考え方をすることができます。本記事ではインターネットを構成する重要な技術の一つである、HTTPについて説明したいと思います。
まずはHTML、URI、HTTPの基本をおさえよう!
インターネットを構成するWWW(World Wide Web)を理解する上で必要となる技術は主に、以下の3つとなります。
- HTML (WEBページのデータ記述方法)
- URI (データが存在する位置情報)
- HTTP (データの転送方法)
本記事ではHTTPについての説明がメインとなりますが、一旦HTML、URI、HTTPの順番でその概要をご説明したいと思います。
HTMLとは
HTMLとはHyper Text Markup Languageの略で、文章の構造などをマークアップ(タグ付け)するために記述される言語です。簡単に言うと、WEBブラウザ(Chrome、Edgeなど)で表示される様々なWEBページが適切に表示されるように記述するための言語です。
URIとは
URIとはUniform Resource Identifierの略で、WEBページに関するリソースが存在する場所や名前を示す統一的な識別子です。ちょっとわかりずらいかもしれませんが、WEBページのリソースをスキームとリソースから構成しています。
具体的にはスキームとは”http:”、”ftp:”といった、一般的にはURL入力時の先頭部分を指すものであり、またこれらはリソースの処理方法を示しています。ちなみに、このスキームの後ろに存在する文字列がリソースとなります。
wwwにおけるURIのイメージ
[スキーム(httpなど)]://[ユーザー名]@[ドメイン名]:[ポート番号]/[リソースへのパス]
なお、URLとURIは混同しやすいですが、元々はURL(Uniform Resource Locator)が使われていたのが、それらを含めた上でリソースの統一的な識別子として、URIが標準として示されました。URL自体は公式的な表現ではないのですが、URIが定められる前に広く浸透しすぎてしまったため、現在でも利用されることは多いです。
HTTPとは
HTTPとはHyperText Transfer Protocolの略で、ハイパーテキスト形式のファイルの要求と転送を行うプロトコルです。
HTTPを利用した通信の仕組みとしては、
- URIのドメイン名をDNSで名前解決
- WEBアプリケーションへリクエスト送信
- WEBアプリケーション側からリクエストに対しての返信(レスポンス)
こんな感じとなります。
なお、リクエストとレスポンス(HTTPメッセージ)は開始行、メッセージヘッダ、ボディから構成されます。