ネットワーキング
 Computer >> コンピューター >  >> ネットワーキング >> ネットワーキング

HTTP / 2とは何ですか?それは何をしますか?

過去20年間で、ワールドワイドウェブは劇的に進化しました。改善されたすべてのWebテクノロジーには、技術的な限界に達しつつある現在のもの(HTTP)よりも、通信とファイル転送のためのより優れた高速のソリューションとプロトコルが必要です。

HTTP / 2とは何ですか?それは何をしますか?

HTTP / 2とは何ですか?

HTTP/2はハイパーテキストの最新バージョンです トランスポートプロトコル(HTTP)–ワールドワイドウェブで使用される基盤となるプロトコル 。最初は2015年2月に承認されました。これは、元のHTTPからほぼ20年後のことです。 HTTP / 2は読み込み時間を短縮し、サーバーとブラウザ間の通信を大幅に改善します。ブラウザーの大部分はすでにHTTP/2を追加しており、ユーザーの観点からは多くのことを変更していません。それが、私たちの多くがまだ読んだり聞いたりしていない主な理由です。

HTTP / 2は何をしますか?

HTTPの後継として、 HTTP/2はHTTPのすべての特性の改善に重点を置いています 。古いプロトコルとの下位互換性を維持するために、HTTPのほとんどの機能を保持しています。ただし、大幅な改善が見られます。

HTTPまたはHTTP/2の両方で次のように定義されます:

  • さまざまなコマンドに応答してWebブラウザとサーバーが実行する必要のあるアクション。
  • Webを介して情報のすべてのビットが1台のコンピューターから別のコンピューターに転送される方法。
  • メッセージの作成、フォーマット、送信方法。

言い換えれば、HTTPとHTTP / 2は、Webコンテンツがコンピューターに配信される方法の基準を設定しますが、HTTP/2はすべてのものを前のバージョンよりも高速にしているという違いがあります。ここでは、HTTP/2が何をするのかを詳しく見ることができます。

多重化されたストリーム

1つのサーバーとクライアント間でHTTP/2プロトコルを介して送信される一連の双方向のテキスト形式フレームは、「ストリーム」と呼ばれます。 HTTPは、一度にこれらの「ストリーム」の1つだけを送信できます。ストリームが送信された後、次のストリーム送信の間に時間遅延があります。

HTTP / 2は、「ストリーム」を1つずつ送信する際の問題を直接解決する新しいバイナリフレーミングレイヤーを確立します。 これにより、クライアントとサーバーはHTTP/2ペイロードを小さくて独立した管理しやすいインターリーブフレームシーケンスに分解できます。この情報はすべて、もう一方の端で受信されると再構成されます。このプロトコルにより、連続するストリーム間の遅延なしに、複数の同時に開いた独立した双方向シーケンスの交換が可能になります。

メリット:

  • 並列多重化された要求と応答は互いにブロックしません。
  • 単一のTCP接続により、複数のデータストリームを送信する場合でも、ネットワークリソースを効果的に利用できます。
  • ウェブのパフォーマンスが向上し、待ち時間が短縮され、検索エンジンの結果が向上します。
  • ネットワークとITリソースの実行におけるCapExとOpExを削減しました。

HTTP / 2とは何ですか?それは何をしますか?

HTTP/2サーバープッシュとキャッシュプッシュ

これ は、サーバーが追加のキャッシュ可能な情報をクライアントに送信できるようにする機能です 。その情報はリクエストされていませんが、将来のリクエストで予想されます。クライアントが1つのリソースAを要求し、別のリソースBが要求されたリソースで参照されていることがわかっている場合、サーバーは別のクライアント要求を待つ代わりに、AとともにBをプッシュできます。次に、クライアントはプッシュされたリソースBを将来の使用のためにキャッシュに保存します。この機能により、要求と応答のラウンドトリッププロセス全体が節約され、ネットワークの遅延が減少します。 Googleは当初SPDYプロトコルでサーバープッシュを導入しました。

HTTP / 2のもう1つの改善点は、キャッシュプッシュです。これにより、クライアントのキャッシュが事前に更新または無効化されます。これにより、サーバーは、クライアントが実際に望んでいない可能性のあるプッシュ可能なリソースを特定できます。

メリット:

  • クライアントは、キャッシュされたリソースの効率的なリポジトリを維持するために、プッシュされたリソースを拒否できます(または、サーバープッシュを完全に無効にすることもできます)。
  • クライアントは、同時に多重化されるプッシュされたストリームの数を制限できます。
  • サーバーはプッシュされたリソースに優先順位を付けることができます。これは、HTTP/2とHTTPのパフォーマンスの違いの鍵です。
  • サーバーは、同じTCP接続内で、プッシュされたリソースとクライアントの要求された情報を多重化できます。
  • クライアントは、キャッシュされたリソースをさまざまなページで使用できます。
  • クライアントはプッシュされたリソースをキャッシュメモリに保存します。

バイナリプロトコル

HTTP / 2は、テキストプロトコルをバイナリプロトコルに変換する際の機能を大幅に改善しました 。 HTTPはテキストコマンドを処理して要求/応答サイクルを実行するために使用されていましたが、HTTP/2はバイナリコマンドに依存しています。これにより、同じタスクを実行する時間が(1秒と0秒に)短縮されます。

HTTP / 2をサポートするブラウザは、ネットワーク経由で送信する前に、テキストコマンドをバイナリコードに変換します。ただし、バイナリフレーミングレイヤーは、HTTPサーバーおよびクライアントとの下位互換性がありません。

メリット:

  • HTTPのテキストの性質に関連するセキュリティ上の懸念を防止します(例:応答分割攻撃)。
  • 圧縮、優先順位付け、多重化、TLSの効果的な処理、フロー制御などのHTTP/2機能を有効にします。
  • コマンドのコンパクトな表現により、実装と処理が容易になります。
  • クライアントとサーバー間の堅牢で効果的なデータ処理。
  • スループットの向上とネットワーク遅延の削減。
  • HTTPと比較すると、エラーが発生する可能性が低くなります。
  • 非常に効率的なネットワークリソースの利用。
  • データ解析のオーバーヘッドが少ない。
  • より軽いネットワークフットプリント。

HTTP / 2とは何ですか?それは何をしますか?

ストリームの優先順位付け

HTTP / 2を使用すると、クライアントは特定のデータストリームに設定を提供できます。サーバーはこれらのクライアントの指示に従う必要はありませんが、このメカニズムにより、サーバーはユーザーの要件に基づいてネットワークリソースの割り当てを最適化できます

ストリームの優先順位付けは、各ストリームに割り当てられた重みと依存関係で機能します。すべてのストリームは本質的に相互に依存しているという事実にもかかわらず、それらには1から256の間に割り当てられた重みがあります。ストリームの優先順位付けメカニズムは依然として議論のトピックです。ただし、ストリームの優先順位付けを、単一のTCP接続で複数のデータストリームを処理するHTTP / 2機能と組み合わせると、優先順位の異なるサーバー要求が同時に到着する可能性があります。

メリット:

  • ネットワーク遅延の懸念による悪影響を軽減しました。
  • ユーザーエクスペリエンスとページの読み込み速度が向上しました。
  • サーバーとクライアント間のデータ通信の最適化。
  • 非常に効果的なネットワークリソースの使用率。
  • プライマリコンテンツリクエストの配信時間の短縮。

ステートフルヘッダー圧縮

ユーザーがHTTPを使用してメディアリッチコンテンツのWebサイトを閲覧すると、クライアントは複数のほぼ同一のヘッダーフレームをプッシュします。これが当てはまるのは、各クライアントリクエストに、サーバーがリクエストされた操作を実行するために必要な情報を含める必要があるためです。このプロセスにより、遅延と不要なリソースの消費が発生します。

HTTP / 2には、多数の冗長ヘッダーフレームを圧縮する機能が含まれています。ヘッダー圧縮への安全でシンプルなアプローチとしてHPACK仕様に依存しています 。クライアントとサーバーは、以前のクライアントサーバー要求で使用されたヘッダーのリストを維持します。これにより、冗長ヘッダーフレームに関する懸念に直接対処できます。

メリット:

  • 一般的に使用されるヘッダーと大きなヘッダーをエンコードします。これにより、ヘッダーフレーム全体を送信する必要がなくなります。各ストリームの個々のサイズは大幅に縮小します。
  • 圧縮されたヘッダーを使用してデータストリームを探索するCRIMEなどのセキュリティ攻撃を防止します。
  • 多重化メカニズムの効率的な利用。
  • 効率的なストリームの優先順位付け。
  • リソースのオーバーヘッドを削減しました。

HTTP / 2とは何ですか?それは何をしますか?

HTTP/2の実際のメリット

HTTP / 2は、テクノロジーの可能性を最大化することに重点を置いています 、将来のニーズと期待に応えるために。 HTTP/2を使用する実際のメリットは次のとおりです。

WebパフォーマンスとモバイルWebパフォーマンス – HTTP / 2には、1つのクライアント/サーバー通信サイクルでより多くのデータを送受信する機能があります。モバイルデータネットワークやユーザーあたりの帯域幅が制限されているネットワークでインターネットサービスにアクセスする際の遅延を減らすのに適しています。

安価な高速インターネット – HTTP / 2は、データ通信の効率を高めます。これにより、インターネットプロバイダーは、高速インターネットの標準を維持しながら、全体的な費用を削減できます。

セキュリティ – HTTP / 2は、テキストベースのアプリケーション層プロトコルを標的とする脅威に対して脆弱ではありません。さらに、「隠すことによるセキュリティ」アプローチを使用して、クライアントとサーバー間の機密データ送信を保護します。

広範なリーチ – HTTP / 2の利点により、プロバイダーのインターネットの成果が低下します。これにより、世界中のインターネットカバレッジが拡大します。

メディアが豊富なWebエクスペリエンス – HTTP/2がWorldWideWebにもたらすテクノロジーの機能と利点は、メディアが豊富なコンテンツをより高速なページ読み込み速度で配信できるインフラストラクチャを提供します。

まとめ

HTTP / 2は比較的新しいプロトコルですが、そのサポートは継続的に拡大しています。現在、ほとんどのインターネットブラウザはHTTP / 2(Microsoft Edge、Google Chrome、Safari、Firefox、Chrome for Android)をサポートしています。多くのWebサーバーには、HTTP / 2ネイティブサポート(Apache HTTPサーバー、Tomcat、NGINX)が含まれています。間違いなく、HTTP/2は将来のWWWプロトコルです。


  1. NVIDIA仮想オーディオとは何ですか?それは何をしますか?

    最近、NVIDIA仮想オーディオに関して多くの問い合わせが寄せられています およびWindowsオペレーティングシステムでのその使用法。このNVIDIAコンポーネントは、NVIDIAグラフィックカードのすべてのグラフィックドライバと、ユーザーが使用およびインストールする他のNVIDIA製品およびソフトウェアとともに出荷されているようです。 この再生デバイスには、デバイスマネージャにエントリがあり、オーディオコントローラカテゴリの下にドライバとして存在します。この記事では、このモジュールとは何か、そしてその主な仕事は何かを調査します。また、コンピュータからアンインストールしても安全かどうかを

  2. runtimebroker.exeとは何ですか?それは何をしますか?

    かなり長い間Windowsユーザーであり、時々タスクマネージャーを使用している場合は、runtimebroker.exeに出くわしたことがあるでしょう。このサービスはCPUサイクルとメモリを使用しますが、ユーザーの操作を必要とせず、舞台裏でのみ機能するため、不思議なことになります。 では、runtimebroker.exeとは正確には何であり、Windowsオペレーティングシステムでは何をするのでしょうか。あなたはそれについて心配する必要がありますか?調べてみましょう! runtimebroker.exeとは何ですか? runtimebroker.exeサービスは、Windo