TLS

TLS (Transport Layer Security) is a networking protocol that adds encryption and authentication features to other protocols. It is the successor to SSL (Secure Sockets Layer), which was originally developed by Netscape. TLSv1.0 is essentially "SSLv3.1", with a different name.

The most familiar protocol that uses TLS is HTTPS, a more-secure version of the HTTP protocol used on the Web.

STARTTLS
TLS can be implemented in two fundamentally different ways.

In one, a separate TCP port is assigned to the TLS version of the protocol. This is the only method supported by HTTPS.

In another, sometimes called STARTTLS or Opportunistic TLS, the same TCP port is used for both secure and insecure communications. To enable security, the client issues some sort of "STARTTLS" command after establishing the (initially unsecured) connection. This is supported by LDAP, IMAP, etc.

Disambiguation
TLS can mean:
 * A collective name for SSL and TLS.
 * TLS version 1.0 and higher, specifically excluding SSL.
 * Various "STARTTLS" commands and their associated protocols.

SSL can mean:
 * A collective name for SSL and TLS.
 * SSL through SSLv3, specifically excluding TLS.
 * The use of a special port for SSL/TLS protocols, specifically excluding "STARTTLS" mechanisms.

Specifications

 * RFC 2246: TLS v1.0
 * RFC 4346: TLS v1.1
 * RFC 5246: TLS v1.2
 * RFC 8446: TLS v1.3

Links

 * Transport Layer Security
 * Opportunistic TLS (STARTTLS)
 * The Illustrated TLS Connection