はじめに
今回はHTTP/3の理解を深めるために、自分なりに調べてまとめていこうと思います。
まずHTTPとは
HTTP(Hyper Text Transfer Protocol)の頭文字をとった通信プロトコルの1つです。
通信プロトコルって??
通信プロトコルとは「通信するときに使うお約束事」です。
片方が日本語で話しかけたのに、もう一方が英語で返事してしまっては、コミュニケーションが成り立ちませんよね。コンピュータも一緒なんです。
なので通信するときは足並みを揃える必要があるため、通信プロトコルが存在するのです。
その中でもHTTPは、ホームページのファイルを受け渡しするためのお約束事となります。そんなHTTPにも問題点があるんですね。やり取りするときに、通信の内容が暗号化されないという点です。悪い人が途中で盗み見ると、やり取りしている内容がバレてしまいますね。
そこで「やり取りする内容を暗号化する、HTTPと似ているお約束事」が作られました。
それが「HTTPS」です。
HTTP/3とは
本題です😆
HTTPの3つめのバージョンです。ひとつ前のバージョンであるHTTP/2 に比べて、より速くWebサイトを表示できるよう改良されています。
導入メリット
- 接続開始時の遅延が小さい
- セキュアな通信(第三者から見られても中身がわからない安全な通信、暗号化しておこなう通信)を実現
- パケットロス時(データを送受信したときに一部のパケットが欠けてしまうこと)の通信を効率化
HTTP/3とHTTP/2の違いは??
HTTP/3はHTTP/2の問題点を改善している!!
HTTP/2の問題点
- ハンドシェイク(二台のコンピューターが通信をする際、利用する通信方式や各種の設定値を互いに交換したり調整したりすること)による通信の遅延
- ヘッドオブラインブロッキング(TCPパケットを連続で送信する際、一番先頭のパケットに何かしらのエラーが発生すると、先頭パケットの再送が完了するまで後続のパケットをブロックすること)の問題
HTTP/3はそんな問題を改善しています!!
HTTP/3はQUIC(UDPを用いた通信プロトコル)+TLS1.3を活用して安全性を確保しながらデータのやり取りを行えます。
HTTP/2はTCPという通信プロトコルを用いていました。
TCPとは?TLS1.3とは?
どちらも通信するときに使用する通信プロトコルというもの
TCP
・・・送ったデータが相手に届いたかを都度確認しながら通信するやり方。信頼性が高いが、転送速度は低い特徴がある
UDP
・・・送ったデータが相手に届いたか確認しないで通信するやり方。転送速度は高いが信頼性が低いという特徴がある。
TLS1.3
・・・TLSプロトコル(Webで暗号化を実装する場合に最もよく使用されるプロトコル)の最新バージョン。以前の安全性の低い暗号化機能のサポートを廃止し、 TLSハンドシェイクをスピードアップしたほか改善を加えた。
QUICの利点
- 通信開始時の接続確立を高速化
- 複数の通信経路の利用により通信を効率化
- TLS1.3を活用した高セキュリティ
- コネクションIDによるモバイルクライアントの再接続ロスの低減
- ヘッドオブラインブロッキングの解消
HTTP/3を導入するべきサイト
- 画像を多く掲載するECサイト
- 動画を多く取り扱うSNSサービス
- ノウハウなどを解説して集客を見込むWebメディア
終わりに
Webエンジニアを目指す上で、自分が制作しているものがどのようにユーザーに届けられているのかはしっかり理解しておきたいと思います。
なので、まだ浅くしか理解していない部分をしっかり勉強したいです。