Consider the following scenario:
- You install Internet Information Services (IIS) 7.5 on a computer that is running Windows Server 2008 R2 or Windows 7.
- You add an ISAPI filter that registers for SF_NOTIFY_SEND_RAW_DATA event notifications in IIS.
- The computer that is running IIS 7.5 receives a Client HTTP request that contains a Range header.
- If the response data size is equal to 8 MB or is less than 8 MB, IIS sends a response that states that the data length is equal to the Content-Range header, and an incorrect Content-Length header is returned in the response. Therefore, the client waits for data that does not exist.
For example, the client sends the following request to the computer that is running IIS:GET /examplefile.txt HTTP/1.1The response to this request resembles the following:
Range: bytes=1000-2000
Host: localhostHTTP/1.1 206 Partial ContentNote The correct value of the Content-Length header for the response is 1001. However, this response contains a value of 8192000.
Content-Length: 8192000
Content-Type: text/plain
Last-Modified: <Day, Date and time>
Accept-Ranges: bytes
ETag: "0e7ef5bd70cb1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Date and time
Content-Range: bytes 1000-2000/8192000 - If the response data size is greater than 8 MB, the client connection fails. Additionally, the following error message is logged in the HTTP API error log:Connection_Dropped.