It was developed by Eric Rescorla and Allan M. Schiffman at EIT in 1994[1] and published in 1999 as RFC 2660 Netscape's dominance of the browser market led to HTTPS becoming the de facto method for securing web communications.
Because of this, S-HTTP could be used concurrently with HTTP (unsecured) on the same port, as the unencrypted header would determine whether the rest of the transmission is encrypted.
This creates a name-based virtual hosting "chicken and egg" issue with determining which DNS name was intended for the request.
Running HTTP over TLS negotiated in this way does not have the implications of HTTPS with regards to name-based virtual hosting (no extra IP addresses, ports, or URI space).
In HTTP over TLS, all headers are inside the encrypted payload and the server application does not generally have the opportunity to gracefully recover from TLS fatal errors (including 'client certificate is untrusted' and 'client certificate is expired').