インターネットを使用している場合は、HTTP または HTTPS という用語に遭遇したことがあるでしょう。特に現在アクティブな数十億の Web サイトを考慮すると、これは最も閲覧された手紙でもあります。
HTTP または HyperText Transfer Protocol の頭字語です。 これはクライアント側とサーバーの両方のプロトコルとして機能し、インターネット上でメッセージがどのように送信され、構築されるかを定義します。
主要な取り組み
- HTTP 1.0 では接続ごとに 1.1 つの要求のみが許可されますが、HTTP XNUMX では複数の要求が許可されます。
- HTTP 1.1 は永続的な接続をサポートしているため、Web サイトの読み込みを高速化できますが、HTTP 1.0 はサポートしていません。
- HTTP 1.1 は HTTP 1.0 よりも効率的なヘッダー圧縮を備えているため、帯域幅の使用量が削減されます。
HTTP 1.0 と HTTP 1.1 の比較
HTTP 1.0 は、1996 年に導入された HTTP プロトコルの最初のバージョンです。これは、要求と応答のベースで動作するシンプルでステートレスなプロトコルです。 HTTP 1.1 は、1999 年に導入された HTTP プロトコルの最も広く使用されているバージョンです。これは、永続的な接続、キャッシュ、パイプライン処理、チャンク転送エンコーディングのサポートなど、いくつかの新機能を導入した HTTP 1.0 の改良バージョンです。
1996 年、HTTP/1.0 が正式に導入され、承認されました。 それ以来、その人気は急上昇しています。
HTTPv1.0 では基本的な認証 (チャレンジ/レスポンス制御) のみが提供されます。 この手法の主な問題は、ユーザー名とパスワードが暗号化されていないため、時間の制約がなく、スパイされやすくなっているということです。
ステータス コードは 16 個しかありませんでした。
HTTP 1.1 は永続的な接続も提供します。これは、多くの応答と要求を同じ HTTP 接続で送信できることを意味します。
OPTIONS メソッドは HTTP/1.1 で新しく追加されました。 この手法は、HTTP クライアントが HTTP サーバーの機能を検出するために簡単に使用できます。 これは主に、クロスオリジン リソース共有のための Web アプリケーションで使用されます。
比較表
比較のパラメータ | HTTP 1.0 | HTTP 1.1 |
---|---|---|
ステータスコード | 定義できるステータス コードは 16 あります。 ただし、エラー ポップアップは十分に正確ではありません。 | 24 のステータス コードを指定できるため、エラー レポートがより高速かつ効率的になります。 |
認証メカニズム | パスワードとユーザー名もクリア テキストまたは base64 エンコードで送信されるため、基本認証メカニズムは安全ではありません。 | ダイジェスト認証とNTLM認証を利用しているため、比較的安全です。 |
キャッシング | If-Modified-Since ヘッダーは、キャッシングを支援するために使用されます。 | キャッシュ制御のようないくつかの追加ヘッダーを使用します。 |
化する強力なツール群 | キャッシュをサポートして、より多くのページをより迅速に提供します。 | 「ホストごとに XNUMX つの接続」という要件の回避策として、スプライト、連結、インライン化、ドメイン シャーディングなどの多くの最適化が利用されています。 |
主な機能 | TCP 接続ごとに XNUMX つの要求と応答しかありません。 | これにより、接続の再利用が可能になります。つまり、TCP 接続ごとに多くの要求と応答を送受信できます。 |
HTTP 1.0 とは何ですか?
HTTPv1.0 では基本的な認証 (チャレンジ/レスポンス制御) のみが提供されます。 この手法の主な問題は、ユーザー名とパスワードが暗号化されていないため、スパイ行為を受けやすく、時間の制約がないことです。
スパイによって得られた情報は、取得後も長期間使用できます。 クライアントは、 チェックサム パスワード、ユーザー名、および XNUMX 回限りの値 (HTTP 要求タイプと有効な応答のために要求された URI を含む)。
HTTP1.0 は、リクエストごとに TCP の新しい接続を利用することを意図していたため、アピールごとに、TCP の新しい接続を確立する費用を支払う必要がありました。
ほとんどのインターネット トランザクションは短時間であり、スロー スタート段階を超えることはめったにないため、使用可能な帯域幅を最適に使用できません。
一部のバージョン 1.0 実装では、「キープアライブ」ヘッダーを利用してリンクを維持できるように要求していましたが、これはプロキシ間の場合にはうまく機能しませんでした。
サーバーは、特定の接続に対する一致する要求と同じ順序で応答を提供する必要があります。 クライアントは、同じ接続 (パイプライン) を介して別のリクエストを送信する前に、前のリクエストへの応答を待つ必要はありません。
また、TCP プロトコルの機能を最適化しながら、ネットワークの往復待ち時間を短縮します。
HTTP 1.1 とは何ですか?
永続的な接続とパイプラインを導入することで、この問題を解決します。 HTTP/1.1 は、永続的な接続を使用する場合、明示的に切断を要求されない限り、TCP の接続をアクティブに保つ必要があることを意味します。
これにより、クライアントはそれぞれの応答を待たずに同じ接続を介して多数のアピールを送信できるようになり、HTTP/1.1 よりも HTTP/1.0 のパフォーマンスが大幅に向上します。
残念ながら、この最適化手法には固有のボトルネックがあります。
いくつかのデータ パケットは途中で互いに通過できないためです。 キューの先頭にあるリクエストが必要なリソースを取得できず、その後ろにあるすべてのリクエストがブロックされる場合があります。
これは HOL head-of-line ブロッキングとして知られており、HTTP/1.1 接続パフォーマンスの向上に関しては大きな問題です。
個別の並列 TCP 接続で問題が解決する場合がありますが、クライアントとサーバー間の同時 TCP 接続の数は制限されており、新しい接続ごとに多くのリソースが消費されます。
HTTP/1.1 のフロー制御は TCP に基づいています。 TCP が確立されると、サーバーとクライアントの両方がシステムのデフォルト設定を使用してバッファ サイズを決定します。
受信側のバッファが部分的にいっぱいである場合、受信側の受信ウィンドウまたはバッファ内の空きスペースの量を送信側に通知します。
HTTP 1.0 と HTTP 1.1 の主な違い
- HTTP1.0 は主にヘッダーで使用されますが、HTTP1.1 はより高度なヘッダーを導入するために使用されます。 キャッシュ 管理アプローチ。
- HTTP1.0 では帯域幅の無駄が多少ありますが、HTTP 1.1 では帯域幅の無駄が少なくなります。
- Host ヘッダー フィールドは、HTTP1.1 要求および応答メッセージでサポートされていますが、HTTP1.0 では、各サーバーが個別の IP アドレスをバインドする必要があると考えられています。
- HTTP1.0 では、TCP 接続ごとに 1.1 つの要求と応答しかありませんが、HTTP XNUMX では接続の再利用が可能です。
- スプライト化、連結、インライン化、およびドメイン シャーディングは、HTTP 1.1 で利用される最適化の一部ですが、HTTP 1.0 は Web サイトをより迅速に提供するためのキャッシングをサポートしています。
- https://ieeexplore.ieee.org/abstract/document/1243114/
- http://journals.uic.edu/ojs/index.php/fm/article/view/2125
最終更新日 : 16 年 2023 月 XNUMX 日
Sandeep Bhandari は、Thapar University (2006) でコンピューター工学の学士号を取得しています。 彼はテクノロジー分野で 20 年の経験があります。 彼は、データベース システム、コンピュータ ネットワーク、プログラミングなど、さまざまな技術分野に強い関心を持っています。 彼の詳細については、彼のウェブサイトで読むことができます バイオページ.
HTTP 1.1 での OPTIONS メソッドの導入は注目に値する追加であり、クライアントがサーバー機能を発見できるようになり、特に Web アプリケーションでのオリジン間のリソース共有に有益です。
HTTP 1.1 の認証メカニズムでは、ダイジェスト認証と NTLM 認証を採用することでセキュリティが大幅に強化され、ユーザー名とパスワードが傍受されるリスクが軽減されます。
HTTP 1.1 の永続的接続のサポートは、Web サイトの読み込み時間を短縮し、ネットワークの往復遅延を最適化するという点で大きな変革をもたらします。
HTTP 1.1 のボトルネックと最適化は、課題を克服してパフォーマンスを向上させるために Web プロトコルを継続的に改良する必要性を強調しています。
この比較表は、HTTP 1.0 と 1.1 の違いを明確に示し、エラー報告とパフォーマンスの最適化における進歩を強調しています。
HTTP プロトコルは、その誕生以来、長い進歩を遂げてきました。バージョン 1.1 の改良により、パフォーマンスとセキュリティに大きな影響が与えられました。
HTTP 1.0 および 1.1 の技術的な詳細は、特に接続の再利用と効率的なヘッダー圧縮の観点から、プロトコルの進化に関する貴重な洞察を提供します。
リクエストごとに新しい TCP 接続を確立するコストを回避するなど、以前のバージョンの課題に対処する HTTP 1.1 の詳細な説明は、プロトコルの進歩を示しています。
HTTP 1.0 と 1.1 の内訳は、エラー処理、ステータス コード、キャッシュが段階的に改善されていることを示しており、プロトコルの進化の重要性が強調されています。
HTTP 1.1 での永続接続とパイプラインの導入により、Web トランザクションの全体的なパフォーマンスが向上したことは間違いありません。