讓我們從TLS開始吧。
TLS是一種提供客戶端和服務器之間安全連接的方式。它通過爲客戶端和服務器交換密鑰提供一種安全的方式來實現這一點,以便他們可以使用公鑰密碼術來保護其傳輸。確切的機制發現here,但這對於這個答案並不重要。
現在,什麼是https?首先,我們來談談HTTP。 HTTP是一種協議,用於定義Web服務器和客戶端如何對話並交換網頁或數據。基本上,它包括來自客戶端的請求,並且服務器用數字消息,頭部和(可選)身體作出響應。如果你對編寫網頁很熟悉,這很明顯。
現在,最後,什麼是HTTPS? HTTPS是使用TLS保護數據的HTTP版本。這意味着客戶端和服務器可以使用它們以前使用的相同協議,並使用加密方式進行打包。
現在,讓我們在node.js中討論這些問題。
當您使用require('tls')
時,您只使用加密層,而沒有定義協議。對於任何不期待精確協議的任何事物,例如您的其他node.js客戶端,這都可以正常工作。
當您使用require('https')
時,您特別使用HTTP over TLS。 https module
實際上是
tls module的子類! (糟糕,實際上,https.Server
是tls.Server
的一個子類)這意味着無論何時使用https模塊,您也使用tls之一。
現在,最後一個問題:瀏覽器需要什麼?如果你一直在關注我所說的一切,你可以看到瀏覽器需要https。事實上,您今天訪問的大多數網頁都可能已經超過了https。
'https' lib使用'tls'來傳輸。用於會話目的的TLS只是SSL。如果您的用戶是瀏覽器,只需使用HTTPS即可。 – Joe
喬感謝評論。現在更清楚 - 艾利的迴應類型將所有事情都放在了角度。乾杯。 – sidewaiise