Internal or WinHTTP connection handlers


Can you tell me the main differences between the internal connection handler and WinHTTP?

We have found that some of out test scripts (using Java web) run quite a bit faster with WinHTTP but will sometimes have errors that don’t occur with the internal HTTP handler.



Hi Jon,
The main reason for using the Microsoft WinHTTP (or the similar WinInet) connection library is where NTLM Authentication protocol is required.
It may also be used if there are other Microsoft specific security or authentication requirements that are not supported by the internal library.

The disadvantage of using these Microsoft libraries are:

  • Errors at the TCP/Socket level are only indirectly reported and sometimes not very clearly.
  • Using multiple local IP addresses is not possible. One requirement is when sending calls to a load balancer that uses the client IP address for balancing.
  • ePP does not have precise control of the data, protocol and error handling.

Advantages of using the internal library include:

  • It has a lower memory overhead.
  • Error handling and reporting are optimised for use by ePP.
  • There is more direct control of SSL such as for the SSL Lifetime.

The user manual has a page about the different libraries here:

There are subtle differences in the HTTP depending which library is used such as the order of headers or cookies or slightly different standards interpretation. In most cases it makes no practical difference to but there are occasions when it does.

We would need to see detailed logs of runs with and without WinHTTP to explain the differences you are experiencing. Can you zip up examples of test runs beneath the project runs folder that include an hlog file for the VU and send them to