2016-03-19 20 views
0

厥:バージョンHTTPプロトコルの1.1HTTPチャンク転送符号化

、チャンク転送機構は、TE(転送エンコード)要求に記載されていない場合でも、常にととにかく許容可能であると考えられています私はクライアント(Mozillaの、オペラ座)から得るもの厥ヘッダフィールド

GET http://www.google.com/ HTTP/1.1 ホスト:WWW .google.com ユーザエージェント:Mozilla/5.0(X11; Ubuntu; Linux x86_64; rv:45.0)Gecko/20100101 Firefox/45.0 受け入れる:text/html、application/xhtml + xml、application/xml; q = 0.9、/; q = 0.8 受け入れ言語:en-US、en; q = 0.5 受け入れエンコード:gzipで、 接続を収縮:キープアライブ

をどうやらそこにどちらも転送エンコードフィールドがあり、また私は、任意のチャンクを参照してください(私はHEXエディタでチェックしました、追加のシンボル) 。

(パイソン)を次のように私は、接続を開く

socket.socket(socket.AF_INET, socket.SOCK_STREAM) 

それは低レベルの処理がメッセージにチャンクに参加しますか?それで、HTTPメッセージがどこで終わっているのか分かり、リクエストの読み込みをやめて処理を開始するにはどうしたらよいですか?

答えて

1

仕様をお読みください。

しかし、この場合、それはGETであり、コンテンツがないため、Content-Lengthヘッダーは存在しません。だから、あなたはCR/LFだけで空の行を取得するときに読書を停止します。

それ以外の場合は、その空白行を読み取り、Content-Lengthバイトを読み取ります。

関連する問題