1. HTTP 1.1 は、永続的な接続 (PersistentConnection) とリクエスト パイプライン (Pipelining) 処理をサポートします。
HTTP 1.0 では、ブラウザーとサーバーのみが保守することを規定しています。存続期間の短い接続です。ブラウザの各リクエストは、サーバーとの TCP 接続を確立する必要があります。サーバーは、リクエストの処理が完了すると、すぐに TCP 接続を切断します。サーバーは、各クライアントを追跡したり、過去のリクエストを記録したりしません。 (推奨学習: Web フロントエンド ビデオ チュートリアル)
HTTP 1.1 は永続的な接続をサポートしており、デフォルトで永続的な接続を使用します。複数の HTTP リクエストとレスポンス。複数のリクエストとレスポンスは重複する可能性があり、複数のリクエストとレスポンスを同時に実行できます。より多くのリクエスト ヘッダーとレスポンス ヘッダー (たとえば、HTTP 1.0 にはホスト フィールドがありません)。
1.0 セッション モード:
1. 接続を確立します。
2. リクエスト メッセージを送信します。
3. 応答メッセージを送り返します。
4. 接続を閉じます。
HTTP 1.1 の継続的接続には、実装に役立つ新しいリクエスト ヘッダーも追加する必要があります。たとえば、Connection リクエスト ヘッダーの値が Keep-Alive の場合、クライアントはこのリクエストの結果を返した後、接続を維持するようにサーバーに通知します。接続 リクエスト ヘッダーの値が close の場合、クライアントはこのリクエストの結果を返した後、接続を閉じるようにサーバーに通知します。 HTTP 1.1 では、認証、状態管理、キャッシュ キャッシュなどのメカニズムに関連する要求ヘッダーと応答ヘッダーも提供します。
リクエストのパイプライン処理により、TCP 接続上で複数の HTTP リクエストとレスポンスを送信できるため、接続の確立と終了にかかる消費と遅延が軽減されます。たとえば、多くの画像を含む Web ページ ファイルに対する複数のリクエストと応答は 1 つの接続を介して送信できますが、個々の Web ページ ファイルに対するリクエストと応答は依然として独自の接続を使用する必要があります。 HTTP 1.1 では、クライアントが前のリクエストの結果が返されるのを待たずに次のリクエストを行うこともできますが、サーバーは、クライアントが確実に応答できるように、クライアント リクエストを受信した順序で応答結果を送り返す必要があります。各リクエストの内容を区別する レスポンスの内容
2.HTTP 1.1 はホスト フィールドを追加します
HTTP1.0 では、各サーバーは一意の IP アドレスにバインドされていると見なされます。したがって、要求メッセージ ホスト名が渡されません。しかし、仮想ホスト技術の発展により、物理サーバー上に複数の仮想ホスト (マルチホーム Web サーバー) が存在し、IP アドレスを共有できるようになりました。
HTTP1.1 リクエスト メッセージとレスポンス メッセージは Host ヘッダー フィールドをサポートする必要があり、リクエスト メッセージに Host ヘッダー フィールドがない場合、エラー (400 Bad Request) が報告されます。さらに、サーバーは絶対パスでマークされたリソース要求を受け入れる必要があります(SHOULD)。
3. 100 (継続) ステータス (帯域幅の節約)
HTTP/1.1 では、新しいステータス コード 100 (継続) が追加されました。クライアントはあらかじめヘッダーフィールドのみを付けたリクエストを送信し、サーバーが権限によりリクエストを拒否した場合はレスポンスコード401(Unauthorized)を返し、サーバーがリクエストを受信した場合はレスポンスコード100を返します。 、クライアントはエンティティを使用して完全なリクエストを送信し続けることができます。 100 (継続) ステータス コードを使用すると、クライアントはリクエスト メッセージ本文を送信する前にリクエスト ヘッダーを使用してサーバーをテストし、サーバーがリクエスト本文の受信を希望しているかどうかを確認し、その後、リクエスト本文を送信するかどうかを決定できます。
4. チャンク転送コーディングは、上記の問題を解決するために HTTP/1.1 で導入されました。送信者はメッセージを任意のサイズのいくつかのデータ ブロックに分割し、各データ ブロックは送信時にブロックに添付されます。最後にメッセージの終わりの標識として長さ 0 のブロックを使用します。このアプローチにより、送信者はメッセージの断片のみをバッファリングすることができ、メッセージ全体をバッファリングすることによって引き起こされる過負荷を回避できます。
5. HTTP/1.1 では、1.0 をベースにいくつかの新しいキャッシュ機能が追加されています。キャッシュされたオブジェクトの有効期間が Expire を超えると、そのオブジェクトは古いオブジェクトになります。キャッシュは古いオブジェクトを直接破棄する必要はありません。ただし、ソース サーバーと通信します。再検証を実行します。
以上がhttp1.0と1.1の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。