全站 https 搞懂 http https 的區(qū)別附實戰(zhàn)

----歡迎查看我的博客----

HTTP HTTPS

??其實我對http協議也是一知半解,因為網絡底層基本沒學,半路出家,土話叫野路子。所以發(fā)表這片文章也是想多學習。多探討。不說廢話了,一起來學習吧

image

HTTP三次握手

??http協議默認使用TCP的80端口進行通信。通過在瀏覽器中輸入網站地址(URL),發(fā)起http請求。個人理解,通俗的講有這么幾個:

1、客戶端訪問地址,經過DNS解析,找到服務器地址。請求建立一個tcp連接。
2、服務器端收到要連接的信息,返回一個信號。
3、客戶端驗證是不是連接成功然后發(fā)起請求。

??后面就能理解了,服務器端返回一個html頁面,然后游覽器接收到后,解析html,構建dom樹,css排繪。再跑一些js腳本。然后一個頁面就出來了。。大概是這樣。扯得有點遠了。

http不安全

??用chrome游覽器的小伙伴經常會發(fā)現出現一個提示,不安全。例如之前的12306老給我提示說不安全,為什么說不安全呢。其實和傳輸過程有關,舉個栗子:通俗的說就是,你的手機可能被監(jiān)聽,你和別人打電話的信息都有可能被人竊聽。妹子的信息被別人知道了可還得了。不得了不得了。哈哈哈。
??很多人好奇怎么監(jiān)聽,監(jiān)聽渠道很多,只要連接上你家的路由器,非https的網絡包都可以抓到,很多前端朋友可能有點迷抓包,就是你chrome的F12網絡那個。你的請求數據都可以被別人看到,比如某個小網站,呵呵呵?;蛘邚倪\營商想法介入,強行插入廣告,給你網站全部插入各種廣告,寫腳本等等等等,很多就不一一舉例子了。

HTTPS的誕生

??被人攔截怎么辦。很簡單,加密啊。再拿打電話舉栗子。你的翻譯懂26個語言,你的對面的翻譯也懂26門語言,翻譯之間打電話用26種語言說一句話,再用一種語言傳達給你。這樣就達到了加密的效果,(竊聽的人也會26種語言怎么辦)別跟我鉆牛角尖哈,我這里只是舉個栗子。我們來看下整個過程:

(1)客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。
(2)Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
(3)客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。
(4)客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,并傳送給網站。
(5)Web服務器利用自己的私鑰解密出會話密鑰。
(6)Web服務器利用會話密鑰加密與客戶端之間的通信。


http 轉 https 的26種語言

??讀到這你會好奇這個26種語言是什么東西。證書。就兩字,證書種類也是各種各樣,現在還有什么企業(yè)專用,個人的,還有泛域名(通配)的,單一域名的。這里我就大概說兩個最常見的

泛域名 :例如你的域名:abc.com ,那么你的證書可以使用在:abc.abc.com、xxx.abc.com、hhh.abc.com等等都是可以使用的,不過一般這種證書。。。沒有免費的。你的花money。具體去百度搜搜。價格貴的離譜的也是有的


單一域名:例如你的域名:abc.com,那么不好意思,你的證書只能用在 abc.com或者 www.abc.com ,就這么不講道理,這個有個好處就是免費申請,有途徑。買域名基本也會送的。


實戰(zhàn)

??這里舉個例子吧,就拿nginx的。

這里我就想講了,看兩個鏈接

騰訊云服務器申請SSL證書, 配置Nginx, 實現HTTPS

https://blog.csdn.net/chenggong2dm/article/details/61925938


nginx配置https轉發(fā)的一個例子

https://www.cnblogs.com/IWings/p/7688215.html

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容