Web ブラウザーにURL を入力するとhttp://localhost:8080/?noheaders.c
、ブラウザー (IE、Chrome、または Firefox) に関係なく、応答する前に G-WAN が 20 秒間ブロックされているようです。
これは何が原因ですか?
どうすればそれを避けることができますか?
あなたの洞察に感謝します。
Web ブラウザーにURL を入力するとhttp://localhost:8080/?noheaders.c
、ブラウザー (IE、Chrome、または Firefox) に関係なく、応答する前に G-WAN が 20 秒間ブロックされているようです。
これは何が原因ですか?
どうすればそれを避けることができますか?
あなたの洞察に感謝します。
これは何が原因ですか?
これは G-WAN とは関係ありません。これは HTTP プロトコルの問題です。
このnoheaders.c
スクリプトは、HTTP ヘッダーなしJSON
で応答を生成する方法を示しています。この応答は、ブラウザーで実行されているコードによってフェッチされることになっています。図の例を参照してください。Javascript
comet.c
「Content-Length」 が存在する場合、ブラウザは、指定された量のデータHTTP header
を読み込むのに必要な時間以上待つ必要はありません。
「Content-Length」がないため、インターネット ブラウザは、追加データの待機を停止するタイミングを推測する必要があります (何も表示せずにしばらく待機し、タイムアウト後、受信したすべてのものを表示します)。 HTTP header
どうすればそれを避けることができますか?
このメカニズムについては、ストリーミングとチャンク エンコーディングを使用してブラウザーのブロックを防ぐ別の例で説明されています。
ここでは長さが事前にわからないため、「Content-Length」は提供されません。チャンク エンコーディングは、End-Of-Reply マーカーを受信するまで、さらにデータを読み取る必要があることをブラウザに伝えます。