HTTPプロトコルの機能とHTTP/2の可能性

インターネットを利用していると分かりますが、利用しているパソコンなどのメーカーや、使用しているOS(基本ソフト)などがよほど古くない限りは、どのような通信端末でも、同じように目的のWebサイトを開く事が出来るようです。

しかし、異なるOSでも、同じように表示できる事はある意味では不思議な話です。

使用しているOSが異なると、通常であれば、それぞれのOSに対応した複数のソフトウェアをメーカーが用意しているはずです。

ところが、インターネットではOSに関係なく同じサイトを表示することが可能となっています。

これは、どのような技術により可能となったのでしょうか?

 

HTTPとは?

「HTTP」は、Hypertext Transfer Protocolの略称です。

それぞれの通信端末に入っているWebブラウザと、接続先のWebサーバとの間で、必要なコンテンツの送受信をコントロールすることを目的とする通信プロトコルです。

インターネットを閲覧するブラウザを使用する通信端末のメーカーや、OSに関係なく同じWebサイトを閲覧することができるのはこのHTTPを使用しているからです。

 

HTTPは、ハイパーテキストの転送を行う以外にも、画像や、音声を含めた色々なデータを扱う機能を持っています。

ここでいう「ハイパーテキスト」とは、複数の文章(テキスト)を、相互に関連付けて、結びつける仕組みを言います。

あるテキストの中にある「ハイパーリンク」をクリックすると、別のテキストが表示される、というようなインターネットではおなじみの機能です。

 

HTTPでは、クライアント(通信端末)側から必要な情報を要求するリクエストを送信すると、それに対してWebサーバが必要な情報を添付したレスポンスを返信する、という動作を繰り返します。

このとき、Webサーバの側ではクライアントの状態を保存しません。とにかく、リクエストに答えるだけの存在です。

 

HTTPの機能

World Wide Web(ワールド・ワイド・ウェブ、略してWWW)におけるWebサイトを指定する際には「http:」が先頭にある「URL(WWW上の住所)」によって、インターネット上のWebサイトを指定します(例 http://www.xxx.co.jp/など)。

通信データを暗号化してセキュリティ対策を行っているWebサイトの場合は、URLの先頭が「https:」と変わります。

すでに書いたように、サーバ側ではクライアントの現在の状態を保存しないところがこのプロトコルの特徴です。

 

しかし、クライアントと、サーバがデータのやり取りのために接続された状態(セッション)を維持する必要があるときは「Cookie(クッキー)」とよばれるプロトコルを利用することが可能です。

実際に、生成された記述(識別用のデータ)も、Cookieと呼ばれます。

 

Cookie(正規には、HTTP cookie)は、Webブラウザの中に保存されることにより、次回の接続時に、ログインのためにはIDとパスワードを入力する必要があるWebサイトを利用する際に、その入力を省略するような事が可能となります。

実際には、サーバ側から返信するレスポンス・ヘッダ(HTTPプロトコルによる返信)の中に、現在の接続した状態を区別する識別子を含めることでCookieが渡されます。

次回、同じWebサイトへ同じ通信端末から接続しようとすると、最初のリクエストを送信するときに、そのリクエストの中へCookieの内容が記述されることより、前回接続した時の状態が継続します。

 

HTTPの可能性(HTTP/2)

1990年に開発されたHTTPですが、現在では、インターネットで利用されている通信プロトコルの大多数がこのHTTPです。

最初のバージョンから少しずつプロトコルとしても進歩を続けてきました。

 

その後のバージョンアップにより、例えば一つのIPアドレスが設定された1台のWebサーバの中に複数のWebサイトを開設することが可能になりました。

次世代のプロトコルであるHTTP/2では、リクエストと、レスポンスのパフォーマンスを改善(反応速度の大幅なアップ)するために、

 

  • 複数のストリーム(リクエストと、レスポンスの組合せ)の同時転送
  • ヘッダ情報の圧縮によるデータの軽量化
  • 必要なレスポンスであれば毎回リクエストがなくても送信することを可能としたりできる機能

 

などを開発中です。

これからも、インターネットの中心に存在しながら、ますます進化していくことが予想される通信プロトコルであるHTTPの現状です。