SNI stands for Server Name Indication. It is an extension of the TLS (Transport Layer Security) protocol that allows a client to specify the hostname of the server it is trying to connect to during the SSL/TLS handshake. This enables a server to host multiple SSL/TLS certificates, each for a different hostname, on a single IP address.
Before SNI, SSL/TLS connections were established using the IP address of the server. This made it difficult to host multiple websites on the same server using SSL/TLS because each website required a unique IP address. SNI solves this problem by allowing clients to indicate the hostname of the server they are trying to connect to during the handshake process, which enables the server to select the appropriate SSL/TLS certificate and complete the handshake.
SNI is widely supported by modern web browsers and servers, but some older systems may not support it. If a client does not support SNI, the server will not be able to select the appropriate SSL/TLS certificate and the connection will fail.