Keep-Alive: 300
Proxy-Connection: keep-alive
リクエストが応答されるとHTTP接続が閉じられることがわかっているので、それはどういう意味keep-alive
ですか?誰かがこれを詳しく説明できますか?
Keep-Alive: 300
Proxy-Connection: keep-alive
リクエストが応答されるとHTTP接続が閉じられることがわかっているので、それはどういう意味keep-alive
ですか?誰かがこれを詳しく説明できますか?
これは、接続を開いたままにして、画像やスタイルシートなどのリソースをさらに要求しても問題ないことを意味します。
私たちが知っているように、リクエストが応答されるとHTTP接続が閉じられます
HTTP 接続とは何ですか? 実際には、HTTP が実装されているソケット接続です。HTTP1.0 でのみ、各応答後に接続が閉じられます。TCP/IP 接続をセットアップするコストを節約するために、HTTP1.1 では、クライアントがヘッダーを送信しない限り、
Connection:close
またはサーバーが同じヘッダーで戻ってきた場合、ソケットは開いたままになります。このソケットに必要な数のリクエストをフィードすると、リクエストされた順序でレスポンスが返されます。これには、応答がチャンク転送エンコーディングで送信されるか、各応答の終わりを検出/計算できるように content-length ヘッダーが含まれている必要があります。
ヘッダーは再び異なり、proxy-connection
クライアントとプロキシ サーバー間の会話のみに関連しています。
プロトコルの優れたガイドとして、このページをお勧めします。
プロトコルは確かにステートレスですが、キープアライブは、クライアントとサーバーの間で接続を開いたままにしておく必要があることを示します。
TCP 接続を開くことは比較的負荷の高い操作であり、その接続を開いたままにしておくことで、新しい接続を開くことに関連するセットアップと破棄のコストを回避できます。
Keep-alive
ステートフルネスとは何の関係もありません。
ネットワーキングで最もコストのかかる操作の 1 つは、接続を繰り返し開いたり閉じたりすることです。ただし、最新の HTML ページでは、技術的には正確にそれを行う必要があります。最初にページを取得し、次に各リソースを取得して、すべてが揃うまで繰り返します。それは信じられないほど遅いため、HTTP/1.1 では、エージェントがサーバーから必要なものすべてを取得するまで、エージェントは接続を維持できます。
Keep-alive
基本的には、サーバーにまだハングアップしないように指示する Web ブラウザーです。