代码之家  ›  专栏  ›  技术社区  ›  Cheeso

win32:winhttpreaddata中分块编码支持的状态是什么?

  •  1
  • Cheeso  · 技术社区  · 15 年前

    这个 documentation for WinHttpReadData 说,关于 HTTP's chunked transfer coding 以下内容:

    从Windows Vista和Windows Server 2008开始,WinHTTP允许应用程序对发送到服务器的数据执行分块传输编码。当传输编码头出现在winhttp响应上时,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 回复  |  直到 15 年前
        1
  •  1
  •   Hans Passant    15 年前

    我的本地副本没有,对我来说是个错误。块被覆盖 this article “传输编码头”部分。阅读时应该是透明的。