I use the embeddedwebserver from http://embeddedwebserver.codeplex.com/
There is some simple code
// Get request int bytesReceived = pRequestSocket.Available; // Get read buffer byte[] readBuffer = new byte[_maxBufferedRequestLength]; int readBufferLength = pRequestSocket.Receive(readBuffer, readBuffer.Length, SocketFlags.None);
I assume, hat bytesReceived and readBufferLength should be the same. And this is the case for all GET requests.
If I execute a Ajax POST request, this is also the case if I use Firefox or Chrome, but not for IE10, IE11 and IE for Windows Mobile. For the later ones, readBufferLength includes only the Http-Header, not the data itself, while bytesReceived is correct for the whole request. Executing a second Receive call reads the missing data.
Is there a know reason, why POST requests from IE behave like this? With Fiddler I coudn't see any differences in the requests (except the header)