網站建設中的:https和http有什麼(me)區别
什麼(me)是 HTTPS?
HTTPS (基于安全套接字層的超文本傳輸協議 或者是 HTTP over SSL) 是一個 Netscape 開(kāi)發(fā)的 Web 協議。
你也可以說:HTTPS = HTTP + SSL
HTTPS 在 HTTP 應用層的基礎上使用安全套接字層作爲子層。
爲什麼(me)需要 HTTPS ?
超文本傳輸協議 (HTTP) 是一個用來通過(guò)互聯網傳輸和接收信息的協議。HTTP 使用請求/響應的過(guò)程,因此信息可在服務器間快速、輕松而且精确的進(jìn)行傳輸。當你訪問 Web 頁面(miàn)的時候你就是在使用 HTTP 協議,但 HTTP 是不安全的,可以輕松對(duì)竊聽你跟 Web 服務器之間的數據傳輸。在很多情況下,客戶和服務器之間傳輸的是敏感歇息,需要防止未經(jīng)授權的訪問。爲了滿足這(zhè)個要求,網景公司(Netscape)推出了HTTPS,也就是基于安全套接字層的 HTTP 協議。
HTTP 和 HTTPS 的相同點
大多數情況下,HTTP 和 HTTPS 是相同的,因爲都(dōu)是采用同一個基礎的協議,作爲 HTTP 或 HTTPS 客戶端——浏覽器,設立一個連接到 Web 服務器指定的端口。當服務器接收到請求,它會返回一個狀态碼以及消息,這(zhè)個回應可能(néng)是請求信息、或者指示某個錯誤發(fā)送的錯誤信息。系統使用統一資源定位器 URI 模式,因此資源可以被(bèi)唯一指定。而 HTTPS 和 HTTP 唯一不同的隻是一個協議頭(https)的說明,其他都(dōu)是一樣(yàng)的。
HTTP 和 HTTPS 的不同之處
HTTP 的 URL 以 http:// 開(kāi)頭,而 HTTPS 的 URL 以 https:// 開(kāi)頭
HTTP 是不安全的,而 HTTPS 是安全的
HTTP 标準端口是 80 ,而 HTTPS 的标準端口是 443
在 OSI 網絡模型中,HTTP 工作于應用層,而 HTTPS 工作在傳輸層
HTTP 無需加密,而 HTTPS 對(duì)傳輸的數據進(jìn)行加密
HTTP 無需證書,而 HTTPS 需要認證證書
HTTPS 如何工作?
使用 HTTPS 連接時,服務器要求有公鑰和簽名的證書。
當使用 https 連接,服務器響應初始連接,并提供它所支持的加密方法。作爲回應,客戶端選擇一個連接方法,并且客戶端和服務器端交換證書驗證彼此身份。完成(chéng)之後(hòu),在确保使用相同密鑰的情況下傳輸加密信息,然後(hòu)關閉連接。爲了提供 https 連接支持,服務器必須有一個公鑰證書,該證書包含經(jīng)過(guò)證書機構認證的密鑰信息,大部分證書都(dōu)是通過(guò)第三方機構授權的,以保證證書是安全的。
換句話說,HTTPS 跟 HTTP 一樣(yàng),隻不過(guò)增加了 SSL。
HTTP 包含如下動作:
浏覽器打開(kāi)一個 TCP 連接
浏覽器發(fā)送 HTTP 請求到服務器端
服務器發(fā)送 HTTP 回應信息到浏覽器
TCP 連接關閉
SSL 包含如下動作:
驗證服務器端
允許客戶端和服務器端選擇加密算法和密碼,确保雙方都(dōu)支持
驗證客戶端(可選)
使用公鑰加密技術來生成(chéng)共享加密數據
創建一個加密的 SSL 連接
基于該 SSL 連接傳遞 HTTP 請求
什麼(me)時候該使用 HTTPS?
銀行網站、支付網關、購物網站、登錄頁、電子郵件以及一些企業部門的網站應該使用 HTTPS,例如:
PayPal: https://www.paypal.com
Google AdSense: https://www.google.com/adsense/
如果某個網站要求你填寫信用卡信息,首先你要檢查該網頁是否使用 https 加密連接,如果沒(méi)有,那麼(me)請不要輸入任何敏感信息如信用卡号。
浏覽器集成(chéng)
多數浏覽器在收到一個無效證書的時候都(dōu)會顯示警告信息,而一些老的浏覽器會彈出對(duì)話框讓用戶選擇是否繼續浏覽。新的浏覽器一般在整個窗口顯示橫幅的警告信息,同時在地址欄上顯示該網站的安全信息。如果網站中包含加密和非加密的混合内容,多數浏覽器會提示警告信息。
許多人以爲,出于安全考慮,浏覽器不會在本地保存HTTPS緩存。實際上,隻要在HTTP頭中使用特定命令,HTTPS是可以緩存的。
微軟的IE項目經(jīng)理Eric Lawrence寫道(dào):
"說來也許令人震驚,隻要HTTP頭允許這(zhè)樣(yàng)做,所有版本的IE都(dōu)緩存HTTPS内容。比如,如果頭命令是Cache-Control:max-age=600,那麼(me)這(zhè)個網頁就將(jiāng)被(bèi)IE緩存10分鍾。IE的緩存策略,與是否使用HTTPS協議無關。(其他浏覽器在這(zhè)方面(miàn)的行爲不一緻,取決于你使用的版本,所以這(zhè)裡(lǐ)不加以讨論。)"