This article describes how to enable chunked transfer encoding with Internet Information Services (IIS).
The HTTP specification does not provide a way to guarantee reliable transmission of replies. The HTTP 1.1 specification adds transfer encoding as a way to make it possible to safely transport messages that are sent through HTTP (see RFC 2068). "Chunked" is a type of transfer encoding by which the message body is transmitted to the client as chunks that are stamped with the size of the chunks (see section 14.40 of RFC 2068). With chunked transfer encoding, the client can make sure that it has received all of the data that the server sends.
Chunked transfer encoding is similar to MIME encoding in relation to Internet mail (see RFC 822). The specific differences between MIME encoding and chunked transfer encoding are discussed in section 19.4 of RFC 2068.
Enable Chunked Transfer Encoding
To enable chunked transfer encoding, set the value for
AspEnableChunkedEncoding to
True in the metabase for the site, the server, or the virtual directory that you want to enable chunked transfer encoding for. By default, the value is
True, and it is set at the Web service level. To set this property in the metabase:
- Open a command prompt.
- Change to the Inetpub\Adminscripts folder.
- Run the following:
cscript adsutil.vbs set /W3SVC/AspEnableChunkedEncoding "TRUE"
For more information, visit the following MSDN Web site:
Send Chunked Data in ISAPI Programming
In Internet Server Application Programming Interface (ISAPI) programming, if you want to send chunked data, add a "Transfer-Encoding: chunked" header, and then send the correctly formatted chunked stream by using
InternetWriteFile:
POST / HTTP/1.1
Host: x.x.x.x:port
Connection: keep-alive
TRANSFER-ENCODING: chunked