SNI(Server Name Indication)
TLS(Transport Layer Security)拡張の一つであり、クライアントが接続するサーバーのホスト名をTLSハンドシェイク時に送信できるようにする仕組み
通常、TLS通信ではハンドシェイクの段階でサーバー証明書を送信する必要があります。しかし、1つのIPアドレスに複数のドメイン(仮想ホスティング)が存在する場合、どの証明書を送るべきかを決定できません。
SNIを使用すると、クライアントはTLSハンドシェイクの最初の段階で「接続したいドメイン名」を送信できます。これにより、サーバーは適切な証明書を選択し、HTTPS通信を正しく確立できます。