2

WinHttpReadDataのドキュメントには、 HTTP のチャンク転送コーディングに関して次のように書かれています。

Windows Vista および Windows Server 2008 以降、WinHttp を使用すると、アプリケーションはサーバーに送信されたデータに対してチャンク転送エンコードを実行できます。Transfer-Encoding ヘッダーが WinHttp 応答に存在する場合、WinHttpReadData はデータをアプリケーションに渡す前にチャンク情報を取り除きます。

誰でもこれを解読できますか?


Q1まず、このテキストは WinHttpReadData のページにあります。これは、... HTTP クライアント アプリケーション内でデータ、具体的には応答データを読み取るために使用されます。それで、それが言うとき、それはどういう意味ですか

Windows Vista および Windows Server 2008 以降、WinHttp を使用すると、アプリケーションはサーバーに送信されたデータに対してチャンク転送エンコードを実行できます。

WinHttpReadData 関数は、サーバーに送信されるデータでは使用されません。サーバーからデータを読み取るときに使用されます。

HTTP 要求の一部としてサーバーにデータを送信するために使用される WinHttpWriteData 関数のドキュメントを参照すると、チャンク転送機能については言及されてませ


Q2新しいチャンク転送サポートが何を意味するかを把握したとしたら、どうすればそのサポートを得ることができますか? Vista と WS2008 で新しいと書かれています。WS2003 で実行され、WinHttpReadData を使用するアプリを作成し、チャンクされた応答または WinHttpWriteData に遭遇し、チャンクされた要求を送信したい場合はどうなりますか?

行間で、このドキュメントは、Vista 時代の Windows SDK 以降の WinHttp.lib に対してリンクする必要があると言っていますか? それともWS2003では本当に無理なのでしょうか? つまり、このライブラリを使ってチャンク転送を行うアプリは、指定されたOSで動作しなければならないということでしょうか?


これは暴言のように聞こえるかもしれませんが、そうではありません。本当に知りたいです。

4

1 に答える 1

2

私のローカルコピーにはそれがありません。私には間違いのようです。チャンクについては、この記事の「エンコード ヘッダーの転送」セクションで説明します。読み取り用に透過的である必要があります。

于 2010-03-25T01:10:59.840 に答える