TIdHTTPServer ist selbst der Webserver.
Aber ja, man kann auch über einen anderen Webserver HTTP/HTTPS laufen lassen und es serverintern ans HTTP des Delphi-Webserver durchreichen.
Selbst noch nicht gemacht, aber ich denke mal HTTPS würde so gehn:
> TIdHTTPServer.IOHandler und dort z.B. einen TIdServerIOHandlerSSLOpenSSL dran
Und falls auch ein Delphi-Client existiert, dann TIdHTTP vermutlich mit TIdSSLIOHandlerSocketOpenSSL. (wie es beim neuen TNetHTTPClient geht, noch weniger Ahnung)
Authentication:
https://de.wikipedia.org/wiki/HTTP-Authentifizierung
* schau mal was TIdHTTPServer.OnParseAuthentication macht
* aber spätestens in TIdHTTPServer.OnCommandGet kannst in ARequestInfo nochmal den Username+Passwort der aktuellen Anfrage auslesen/prüfen
* bei TIdHTTP siehe OnAuthorization und OnSelectAuthorization (z.B. mit TIdBasicAuthentication)
Schade, dass es nicht sowas wie bei den REST-Komponenten gibt: also TSimpleAuthenticator/THTTPBasicAuthenticator/TOAuth1Authenticator/TOAuth2Authenticator, welche man anhängen kann.