私は最初からウェブサーバーを構築しています。私はChromeからいくつかの奇妙な動作に気付いています。私は/
にGETリクエストのためにChromeから取得要求には、次のようになります。特別なChromeが接続を開いても何も送信しないのはなぜですか?
GET/HTTP/1.1
Host: localhost:8000
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
DNT: 1
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
何もないが、それはまた、私のサーバーに別の要求を作成し、それを待っている私のサーバーにつながる何かを、送信しません着信メッセージは永遠に。
この現象はSafariでは見つかりません。私はすべての単一の要求に対して403で応答するようにサーバーを設定しましたが、永続的な接続は残ります。この接続の目的は何ですか?どうすれば対応できますか?私はHTTPプロトコルから何かを見逃していますか?
前の方が効率的になる前にChroneが別の接続を開くのは合理的ですが、私のサーバーはすべての要求に 'Connection:close'を含めています。おそらくあなたは正しいと言えます。それは次の要求を待っているChromeですが、Chromeをもっと速く見せるためにサーバーの時間を無駄にしているようには思えません。 –