Jump to content
Mark Williams

TIDHTTP -v- THTTPCLient

Recommended Posts

I have been testing TIDHttp against THTTPClient.

 

Using a local server with TLS1 and nothing else going on but the test downloads I have found that there is little difference in speed between TIDHttp and THttpClient.

 

I have been using THTTPClient up until now, but thought I had better check out TIDHTTP. 

 

If speed is not a reason for changing and I am otherwise happy with the THTTPClient are there any other reasons I should consider changing for?

Share this post


Link to post

THTTPClient uses high-level OS facilities and libs, TIDHTTP is based on low-level sockets and OpenSSL libs that must be provided for TLS to work. My guess is that Id is more feature rich but if you just need to poll some URL from time to time, THTTPClient is good choice

  • Like 1

Share this post


Link to post

I'm doing a lot more than polling an url, but I don't appear to be having any issues with THTTPClient and it is pretty simple to set up and use and it doesn't need OpenSSL,  I personally can't see any particular reason to switch to Indy. although it would be pretty simple to do so,

 

I was just wondering if there were any known issues/frailties with THTTPClient that would provide an imperative for switching to Indy.

Share this post


Link to post
10 hours ago, Fr0sT.Brutal said:

THTTPClient uses high-level OS facilities and libs, TIDHTTP is based on low-level sockets and OpenSSL libs that must be provided for TLS to work.

Technically speaking, Indy DOES NOT depend on OpenSSL specifically.  Indy uses a plugin model so that any SSL/TLS library can be used, all you need is a TIdSSLIOHandlerSocketBase-derived class to wrap the library's API.  It is just that Indy provides a DEFAULT class which uses OpenSSL (TIdSSLIOHandlerSocketOpenSSL), since OpenSSL is portable to multiple platforms.  But Indy as a whole doesn't care which SSL/TLS library you actually use at runtime.  For example, Eldos SecureBlackbox provides an Indy SSLIOHandler for its own SSL/TLS implementation.  And eventually I would like to provide an SChannel SSLIOHandler as a replacement for OpenSSL on Windows.

Share this post


Link to post
14 minutes ago, Remy Lebeau said:

Eldos SecureBlackbox provides an Indy SSLIOHandler for its own SSL/TLS implementation

Provided, not provides; and Eldos no longer owns the emasculated remains of this redesigned product.

Share this post


Link to post
2 minutes ago, timfrost said:

Provided, not provides; and Eldos no longer owns the emasculated remains of this redesigned product.

OK.  But my point still stands.  Other non-OpenSSL libraries can be plugged into Indy with a little work.

Edited by Remy Lebeau

Share this post


Link to post
11 hours ago, Cristian Peța said:

THTTPClient  doesn't work on Windows 7 and XP with SSL.

The post seems to mention a fix, but I haven't tried it. I have an old Windows 7 machine here somewhere and will check it out. However, since Windows 7 is no longer supported and, presumably, no longer secure to use and my app has to be run in a secure environment, it is probably okay for me to say that Windows 7 is not supported.

Share this post


Link to post
15 hours ago, Remy Lebeau said:

Technically speaking, Indy DOES NOT depend on OpenSSL specifically.  Indy uses a plugin model so that any SSL/TLS library can be used, all you need is a TIdSSLIOHandlerSocketBase-derived class to wrap the library's API.  It is just that Indy provides a DEFAULT class which uses OpenSSL (TIdSSLIOHandlerSocketOpenSSL), since OpenSSL is portable to multiple platforms.  But Indy as a whole doesn't care which SSL/TLS library you actually use at runtime.  For example, Eldos SecureBlackbox provides an Indy SSLIOHandler for its own SSL/TLS implementation.  And eventually I would like to provide an SChannel SSLIOHandler as a replacement for OpenSSL on Windows.

Yes, it CAN use any lib but currently only OpenSSL is supported 😜

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×