私はubuntutelnetクライアントでこれを試しました:
> telnet www.google.com 80
> GET / HTTP/1.1
私が取り戻したのは、コンソール内の一連のHTML行です。最後の行の終わり、タグ/Scriptを閉じた直後に1つのことに気づきました。文字「0」があります...それはどういう意味ですか?
応答の開始時に、次のように表示されます。
Transfer-Encoding: chunked
1000
HTTPチャンク転送エンコーディングは、サーバーが応答の大きさを事前に知らないことを意味するContent-Length
ため、一度に少しずつ応答を提供します。このタイプの応答は、スクリプトが完全に終了する前にWebサーバーがスクリプト結果をユーザーに送り返し始めたい場合に、サーバー側スクリプトで一般的です。
したがって、これ1000
は、後続の4096(0x1000)バイトのブロックがあることを示しています<!doctype html><html><head><meta...
。1000バイト後、(私の要求では)という別のチャンクヘッダーが表示されf65
ます。これは、さらに3941バイトを意味します。その後、cc0
(さらに3264バイト)そして最後0
に、これは応答が完了したことを示すシグナルです。
ファイルの終わり、EOF。