SoLA2-TechBlog

退屈な作業はプログラムに任せましょう!日々の作業に少し工夫を足すだけであなたの時間はもっとクリエイティブになる。

専門用語少なめ!HTTP入門-プロトコルの概要について【基礎知識シリーズ】

HTTPってなに?

概要

皆さんこんにちは、SoLA2です。今回から初心者でも、現場でバリバリ働いているプロのエンジニアであっても、意外に忘れがちな、ITに関する基礎知識について掲載していきたいと思います。

記念すべき第一回は、「HTTP」について!「HTTP」とか「HTTPS」ってインターネットをしている人なら、よく目にする単語だと思います。でも意外にこの意味がわかる人って意外に少ないのではないでしょうか。

HTTPってなに?

そもそもHTTPはある言葉の省略したものです。どのような言葉だかご存知でしょうか。

「Hypertext Transfer Protocol」

ですね。知ってる!って方も多いかと思います。直訳すると、「ハイパーテキストをやり取りするための決まりごと」といった感じでしょうか。「ハイパーテキスト」ってなんやね!とツッコミを入れたくなる方もいるかも知れません。

ハイパーテキストも略語です。正式には「Hypertext Markup Language」と呼びます。つまり「HTML」のことです。今皆さんが見ているこのWEBサイトは基本的に「HTML」と呼ばれるフォーマットで記述されています。

話は戻りますが、この「HTML」をやり取りするための決まりごとが「HTTP」という訳です。

安全を考慮した通信

皆さんはインターネットで買い物をすることはあるでしょうか。私はよくAmazonを利用しています。本当に便利ですよね。家にいながら大体のものは手に入れることができる。素晴らしい。

ですが便利な半面、「不特定多数がアクセスするインターネット上に、個人情報を入力するのは一抹の不安がある」という方もいらっしゃるかと思います。そこで、そういった方でも安心して利用するための技術が、暗号化です。

「HTTP」に暗号化の技術を採用したものが「HTTPS」と呼ばれます。この「S」は「Secure」の略です。「HTTPS」はデータを暗号化してやり取りするので、第三者に読み取られにくいというメリットがあります。今後WEBサイトやWEBアプリケーションを開発するのであれば、基本的に「HTTPS」を使うようにしましょう。

プロトコル(決まりごと)

プロトコル

プロトコルという言葉は、エンジニアには馴染み深い言葉ですが、そうでない人からすると「ハイパーテキスト」に次ぐミステリーワードですね。日本語訳は「規約(決めごとや、約束事)」を意味します。

こういった規約が存在するのには理由があります。コンピュータは人間のように、曖昧なものを判断することが苦手です。加えてインターネットは不特定多数の人がアクセスするので、皆が無秩序にやり取りすると、いくら性能の良いコンピュータであっても混乱の元になります。

そこで皆が同じルールに則ってやり取りすることで、そこで交わされるデータのフォーマットに一貫性が生まれるため、曖昧なものを判断することが苦手なコンピュータでも混乱しないような工夫が「プロトコル(規約)」なのです。

サーバとクライアント

インターネットにアクセスする場合、一般的にそのユーザが操作する「ブラウザ(クライアント)」からホームページを公開している「サーバ」に対してリクエストを投げます。このように、インターネットと一口に言っても様々な機構から構成されています。

HTTPにおいて重要になる機構は、「サーバ」と「クライアント」です。この両者間でプロトコル(規約)に則ってデータをやり取りすることになります。

HTTPリクエストとHTTPレスポンス

上記で少し話題に出ましたが、「ブラウザ(クライアント)」が「サーバ」に対して接続を要求するときに出すものをリクエスト、正確にはHTTPリクエストといいます。また、そのHTTPリクエストに対して「サーバ」が返すものをHTTPレスポンスと呼びます。

まとめ

いかがだったでしょうか。今回は少し初級者向きの内容だったかも知れませんが、最近は優秀なフレームワークが存在するため、現役のエンジニアであってもこういった基礎知識を忘れてしまいがちです。

HTTPはWEBサイトやWEBアプリケーションを開発するための一番基礎となる知識ですので、時々立ち止まって気分転換がてら復習してみるのも良いかも知れません。

次回はHTTPリクエストやHTTPレスポンスについてもう少し踏みこんだ内容を載せていきます。
ではまた。