Duplicate :
|
Body part of PUT request is not retransmitted in streaming mode of HttpURLConnection although both, header and body, are expected to be retransmitted in some data loss situation(e.g. a response from server is not received). This issue of not retransmitting body part of PUT request in HttpURLConnection causes the following dead lock situation between HTTP client and server. (1) HTTP client sends a PUT request with body in streaming mode to HTTP server. (2) HTTP client fails to receive the response then retransmits a PUT request which contains only header to the server(This is the issue) then wait a response from the server. (4) HTTP server receives the PUT request which contains only header and continue waiting the body to come in. Then, HTTP client and server get in dead lock. That is, the client is waiting a response from the server, but the server is waiting the body from the client.