使える! 情シス三段用語辞典126「HTTP/3」
常に新しい用語が生まれてくる情報システム部門は、全ての用語を正しく理解するのも一苦労。ましてや他人に伝えるとなると更に難しくなります。『情シスNavi.』では数々のIT用語を三段階で説明します。
一段目 ITの知識がある人向けの説明
二段目 ITが苦手な経営者に理解してもらえる説明
三段目 小学生にもわかる説明
取り上げる用語を“知らない”と思った人は、小学生にもわかる説明から読んでみると、理解が深まるかもしれません!?
一段目 ITの知識がある人向け「HTTP/3」の意味
おさらい:HTTPとは
HTML(Hyper Text Markup Language:Webページの記述言語)は覚えていても、HTTPは忘れてしまっているかもしれませんね。改めて、HTTPとは「Hyper Text Transfer Protocol」の略になります。
インターネットの代名詞となったWWW(World Wide Web)上でWebサーバとクライアントが、 HTMLで書かれた文書などの情報をやりとりする時に使われる通信手順(プロトコル)になります。Internetを通じて、ブラウザを使ってWebサイトを見る(表示する)為の通信のお作法とでも言いましょうか?
このHTTPはWWWの父ともいえるティム・バーナーズ・リー氏により提案されたWWW概念の基礎といえる「グローバルハイパーテキストプロジェクト」 に始まり、その後に定義されています。
ブラウザなどのクライアントがWebサーバに対し、”get”や”put”といったコマンドを送ると、 それに応じた結果がサーバから送られてきます。 また、送られてきた結果であるHTML、JPEG/PNGなどの画像データを綺麗に成形して見せるのは、Webブラウザ側の仕事となっています。
HTMLについては詳しく解説しませんが、Webサイト側はどのようなブラウザで見られるのか把握しきれません。実際、テキストしか表示できないWebブラウザも存在しますが、 このような場合は必ずしも全てのWebブラウザで見た目が同じになることが保証されているわけではありません。
(Netscapeの前身であるNCSA Mosaicを使っていた際にはVersionが変わるたびに表示がかわるなどはよくありましたが、最近はレスポンシブ対応により閲覧しているデバイスに最適な表示を行うWebサイトが増えています)
余談ではありますが、HTTPでは送受信されるデータは暗号化されていないため、 通信経路のどこかで盗聴/傍受される可能性があります。 第三者に知られたくない情報をやりとりする時は、通信を暗号化するHTTPSを使用するか、または別の暗号化方式などの通信手順を使う必要があります。
HTTP/3とは
では、HTTP/3とはどんなものなのでしょうか。簡単に説明するのであれば「(2015年5月に規格化された)HTTP/2よりウェブサイトの表示速度をさらに高速化するための通信プロトコルの新しい仕様(新version)」といえるのではないかと思います。
HTTP/3は今後、ネット通信の高速化とセキュリティ強化への期待もあり、各社ブラウザへの実装が進み、普及していくと考えられます。
そうなると気になるのは、従来使われてきたHTTP/2と新たに設定されたHTTP/3の違い、一体何が大きく変わるのでしょうか?
一番の違いは、HTTP/3で採用されるトランスポート層のプロトコルがTCP(Transmission Control Protocol)ではなく、UDP(User Datagram Protocol)が使われることではないでしょうか。
(個人的な思い込みかもしれませんが)「インターネット通信≒TCP/IP」というイメージを持っていました。TCPは信頼性を重んじていることから厳格な運用ルールがあります。
しかしながら、UDPは信頼性よりも”データを送ること”に重きを置いており、信頼性を補完する”工夫”が可能であれば、「高速化」の観点からはUDPの方が優位にあります。
この遅延の原因でもあるTCPの代替を目指し、Googleは”工夫”を行い、UDP上で動作するトランスポート層プロトコル「QUIC(Quick UDP Internet Connections)」を開発しています。
このような背景もあり、通信プロトコルなどインターネット技術の標準化を推進する IETF( Internet Engineering Task Force )は、2021年5月27日(米国時間)に、HTTP/3で用いる通信プロトコルにQUICを標準化した技術仕様「RFC 9000」として承認し、HTTPS/3が正式なものとなりました。
<出典:フィッシング対策協議会>
二段目 ITが苦手な経営者向けの「HTTP/3」
ITコンサルティング会社の社長が、情シスチームの坂下さんのところにやってきました。
社長:坂下さん、しばらく前に「HTTP/3」という仕様ができたって耳にしたけど、簡単にどんな内容なのか教えてくれないだろうか。
坂下さん:すごいですね社長、どこでそんなこと耳にしたんですか!? はい、確かに「HTTP/3」という仕様がIETFから勧告されました。
社長:URLのところに記述する”https://”と関係あるのでしょ?
坂下さん:そうですね。HTTPは「Hyper Text Transfer Protocol」の頭文字で、 HTMLで書かれた文書などの情報をやりとりする時に使われる通信手順です。
社長:HTTP/3になって、何か僕たちに変化があるのでしょうか?
坂下さん:Webサイトの閲覧やSaaSを利用している立場では、使い勝手に変化を感じることは少ないかもしれません。
しかしながら、通信が高速化されることで、クラウドを活用した業務アプリなどがより使いやすくなると思います。
社長:なんだ、いいことづくめってことなのですか?
坂下さん:そうですね、HTTP/3に対応するのはブラウザであり、サーバーの為、ユーザーは享受できるメリットの方が多いと思います。
社長:えっ!? なにか悪いこともあるのですか?
坂下さん:そうですね、弊社はITコンサルティングですから、新しい技術に対応していくことが必要になります。
特にHTTP/3では、Googleによって実験的に開発された UDP上で動作するトランスポート層プロトコル”QUIC”が使われています。
暗号化やハンドシェイクの方法がTCP/IPベースのHTTP/2とは異なるため、このあたりは勉強が必要になるのではないでしょうか。
細かいことを言えば、一般的にWebサイト閲覧の際、通信には TCP 80番ポートとTCP 443番ポートが利用されます。
しかしながら、HTTP/3ではUDP 443番ポートを利用するので、クライアントとサーバーともに UDP 443番ポートを開放しなければなりません。
例えば、ファイアウォールなどでUDP 443 番ポートをブロックしている場合は、HTTP/3は利用することができないのです。
また、HTTP/3は暗号化通信が前提となりますので、サーバー証明書の利用、ウェブサイトが常時 SSL化されていることは必須です。
社長:そうなんですね。では、社内にナレッジが残せるようにコンサルチームと開発チームとも情報共有できるようにしておいてください。
三段目 小学生向けの「HTTP/3」
6年生のレンジ君は、お父さんが読んでいたコンピュータ雑誌の中に「HTTP/3」という文字があるのを見つけ、お父さんに聞きました。
レンジ:お父さん、そこに書いてある「HTTP/3」って何? 僕の好きなYouTubeを見ているときに「https://~」という表示は見たことがあるんだけど。
お父さん:レンジ、ただ動画を楽しんでいるのかと思えば、細かいところまでよく見ているな。
そうだな、レンジがタブレットで(ブラウザを使い)インターネットを使っているときに、タブレットとサーバーの間でやり取りされる情報のルールや手順のことだよ。
レンジ:えー、ルールや手順てなんなの?
お父さん:何に例えるとわかりやすいだろう? そうだ、レンジはおばあちゃんに手紙を出すときは葉書に宛先を書き、切手を貼ってポストに入れるだろ?
葉書はそのあと、ポストから回収され、郵便局では切手に消印を押され、送り先の地域ごとに仕分けされて発送されるんだ。
そうして葉書はおばあちゃんの手元に届くわけだけど、「葉書に宛先を書く→切手を貼る→ポストに投函する」このようなルールや手順を”プロトコルと言うんだ。
レンジ:プロトコル!?
お父さん:そう、プロトコル。HTTP/3というのは「ハイパー テキスト トランスファー プロトコル」という名称の頭文字で、”3”はその仕様の世代を表しているんだ。
まだ少し難しいかもしれないけれど、「インターネットでWebサイトを見るときの新しい(通信)ルール」と覚えておくといいかな。
レンジ:じゃあ、何が新しくなったの?
お父さん:簡単に言うとレンジが好きな動画を見たいと思ったときに素早く表示されたり、より動画が途切れることなく再生できるようになることかもしれないね。
レンジ:ふーん、じゃあ、HTTP/4とか5とかになるともっといいことがあるんだね。
お父さん:うん、技術の進化は止まらないから、今ある問題を解決するためにいずれ新しくなるだろうね。
有限な環境をいかに効率よく活用するか、性能向上のためのあくなき探求はきっとまだまだ続くことでしょう。
さて、皆様のご理解は深まったでしょうか?
【執筆:編集Gp ハラダケンジ】