Can you summarize the following document?
        
  當進行TLS連線時,客戶端從Web伺服器請求數字證書。伺服器一旦傳送證書,客戶端就會檢查這個證書,並將其嘗試連線的名稱與證書中包含的名稱進行對比。如果發生匹配,則連線正常進行。如果沒有找到匹配,則可能會向使用者警告該差異,並且可能會中止連線,因為該失配可能表明存在中間人攻擊。不過,某些應用程式允許使用者繞過警告繼續進行連線,由使用者承擔信任證書以及連線的責任。  一個證書覆蓋多個主機名是可以做到的。X.509 v3規範引入了codice_1欄位,該欄位允許一個證書指定多個域名,並在通用名和"subjectAltName"欄位中使用萬用字元。  然而,由於缺少所有名稱的完整列表,可能很難甚至不可能獲得涵蓋伺服器將負責的所有名稱的單個證書。負責多個主機名的伺服器可能需要為每個名稱(或一組名稱)提供不同的證書。自2005年以來,CAcert已經在虛擬伺服器上執行了TLS的不同用法的實驗。大多數實驗是不理想和不切實際的。例如,可以使用"subjectAltName"來包含單個證書中由一個人控制的多個域名。每當域名列表更改時,必須重新發布此類“統一通訊證書”。  基於名稱的虛擬主機允許多個DNS主機名由同一IP地址上的單個伺服器(通常為Web伺服器)託管。為了實現這一點,伺服器使用客戶端提供的主機名作為協議的一部分(對於HTTP,名稱顯示在主機頭中)。但是,當使用HTTPS時,TLS握手發生在伺服器看到任何HTTP頭之前。因此,伺服器不可能使用HTTP主機頭中的資訊來決定呈現哪個證書,並且因此只有由同一證書覆蓋的名稱才能由同一IP地址提供。  實際上,這意味著對於安全瀏覽來說,HTTPS伺服器只能是每個IP地址服務一個域名(或一組域名)。為每個站點分配單獨的IP地址會增加託管成本,因為對IP地址的請求必須為區域網際網路序號產生器構提供證據而且現在IPv4地址已用盡。其結果是,許多網站在IPv4上使用安全通訊實際上都受到了限制。IPv6地址空間未用完,因此使用IPv6提供的網站不受此問題的影響。

  SNI通過讓客戶端傳送虛擬域名的名稱作為TLS協商的一部分來解決此問題。這使伺服器能夠提前選擇正確的虛擬域名,並向瀏覽器提供包含正確名稱的證書。因此,對於實現SNI的客戶端和伺服器,具有單個IP地址的伺服器可以在獲取公共證書不現實的情況下提供一組域名。  SNI在2003年6月的RFC 3546,《傳輸層安全(TLS)擴充套件》中加入到IETF的Internet RFCs中。最新版本的標準是RFC 6066。

  在2004年,EdelKey專案做了一個用於將TLS/SNI新增到OpenSSL中的補丁。在2006年,這個補丁被移植到OpenSSL的開發分支,並在2007年由OpenSSL 0.9.8支援(首次釋出在0.9.8f)。  一個應用程式要實現SNI,它使用的TLS庫必須實現SNI,並且該應用程式必須將主機名傳遞給TLS庫。其他複雜的問題有,TLS庫可以包括在應用程式中或者作為底層作業系統的元件。因此,一些瀏覽器在任何作業系統上執行時都能實現SNI,而其他瀏覽器僅在某些作業系統上執行時才能實現SNI。

  由於SNI資訊並非加密的,允許審查者區分出“真實”和“虛假”的服務或者識別出使用者訪問的網站域名。現已被部分國家用於網際網路審查(如防火長城)。

  域前置通過SNI中使用虛假無害的域名資訊,已經被TLS加密的應用層才使用真實的域名資訊,將真實流量隱藏在看似無害的流量中,從而使審查者無法區別出來,要麼一律放行,要麼帶有嚴重附加傷害的一刀切封鎖。  Google和CloudFront曾啟用該技術的支援,之後停止了,被認為是受到俄羅斯政府的壓力,防止Telegram利用該技術來規避審查。

  作為TLS的標準擴充套件實現,TLS 1.3將通過支援加密SNI以解決這個問題。目前,CloudFlare、Mozilla、Fastly和蘋果的開發者已開始制定了關於加密伺服器名稱指示(Encrypted Server Name Indication)的草案。目前ESNI處於草案階段。  CloudFlare的聯合創始人兼執行長Matthew Prince曾表示,傳統SNI“絕對是加密裝甲中的最後一個縫隙”。(really is one of the last chinks in the encryption armor.)  Mozilla Firefox提供ESNI的草案性實現支援,但預設關閉  2020年3月,ESNI更名為ECHO。2020年5月,其再次更名為ECH。
伺服器名稱指示(,縮寫:SNI)是TLS的一個擴充套件協議,在該協議下,在握手過程開始時客戶端告訴它正在連線的伺服器要連線的主機名稱。這允許伺服器在相同的IP地址和TCP埠號上呈現多個證書,並且因此允許在相同的IP地址上提供多個安全(HTTPS)網站(或其他任何基於TLS的服務),而不需要所有這些站點使用相同的證書。它與HTTP/1.1基於名稱的虛擬主機的概念相同,但是用於HTTPS。所需的主機名未加密,因此竊聽者可以檢視請求的網站。