Win32:WinHttpReadData中chunked编码支持的状态是什么?

时间:2010-03-24 22:33:58

标签: http winapi winhttp chunked-encoding rfc2616

documentation for WinHttpReadDataHTTP's chunked transfer coding说:

  

从Windows Vista和Windows Server 2008开始,WinHttp使应用程序能够对发送到服务器的数据执行分块传输编码。当WinHttp响应中存在Transfer-Encoding标头时,WinHttpReadData会在将数据提供给应用程序之前删除分块信息。

有人可以解读这个吗?


Q1 首先,此文本位于WinHttpReadData的页面上,用于在HTTP客户端应用程序中... 读取数据,特别是响应数据。那说什么呢?

  

从Windows Vista和Windows Server 2008开始,WinHttp使应用程序能够对发送到服务器的数据执行分块传输编码。

WinHttpReadData函数不用于发送到服务器的数据。从服务器读取数据时使用它。

咨询the doc for the WinHttpWriteData function,其中 用于将数据作为HTTP请求的一部分发送到服务器,没有提及分块传输功能。


Q2 假设我弄清楚新的分块转移支持是多少,我如何获得支持?它说它是Vista和WS2008的新功能。如果我编写一个在WS2003上运行的应用程序并使用WinHttpReadData并遇到分块响应或WinHttpWriteData,并且它想要发送一个分块请求会发生什么?

在这些文件之间,这篇文档是说我需要在Vista时代的Windows SDK或更高版本中链接WinHttp.lib,以便能够进行分块编码?或者在WS2003上真的不可能吗?换句话说,使用这个库进行分块传输的应用程序必须在指定的操作系统上运行吗?


这可能就像一个咆哮,但事实并非如此。我真的很想知道。

1 个答案:

答案 0 :(得分:1)

我的本​​地副本没有它,对我来说看起来像是个错误。 Chunked包含在this article,“传输编码标题”部分中。阅读应该是透明的。