A 411 Client Length error occurs when the Browser Agent makes a request of a web page and the server is expecting a POST request, but no POST data is sent.
There are two methods in which HTTP(S) requests are made:
A GET request simply requests a URL from the host server. All the information needed by the server can be found in either the request headers or in the URL itself (as a query string).
- A POST request sends additional information through POST data: a string of name/value pairs corresponding with form values on the previous page. When a server receives a POST request, it expects POST data in the request as well.
To fix a 411 Client Length error, you need to know which page is affected, and what the script is doing. You can use a third-party tool such as HTTPWatch, Fiddler, FireBug, or Live HTTP Headers to find out how the webpage is behaving in the browser.
You will want to capture the header information for the request, including:
- If the request is a GET or POST request.
- If it's a POST request, what the POST data is.
To view the header information in the Dynatrace Recorder:
- Play back the script.
The Recorder displays a table that lists the return code, method, URL, object size, and response time for each object.
- Select a request in the table, then select the Headers tab at the bottom of the Recorder window.
Compare the headers to see if there is any difference between the Dynatrace Recorder and the browser.
If you find that the Recorder is sending a POST request when it should be sending a GET request, you can use an HTTP action to manually insert the required GET request.
If you find that both the script and the browser are sending POST requests, but not POST data, you will need to investigate the actions in the script's previous step to find out why the form is not being submitted correctly.