友情提示,文中圖片較多,流量黨慎入。
不知道大家有沒有發現,當我們上網的時候,幾乎所有的地址前面都會有一個「https://」。比如這樣的:
這樣的:
還有這樣的:
而且,細心一點的讀者可能還發現,大概一兩年之前,我們經常見到的還是「http://」,比我們剛剛說的字元串少一個「s」。像這樣:
其實,這裡的http和https指的是計算機網路通信中的兩種協議。
我們首先從http協議開始說起。
HTTP協議全稱超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)。
這個協議是用來幹嘛的呢?主要是用來規定我們日常瀏覽的網頁在不同計算機間進行傳輸時所使用的格式和傳輸方式。
簡單的說,我們每天在瀏覽器裏看到的網站頁面都依賴於這個協議。比如百度搜索、新浪微博、嗶哩嗶哩、知乎、淘寶等等。(手機APP的原理與網站不同)
這些網址之所以要在最前面加一個「http://」就是為了表示:「我」所代表的資源是採用http協議進行表示和傳輸的。
瀏覽器在「看到」這個欄位之後,就可以採用http協議對應的方法進行發送、接收、解碼等一系列操作,從而為用戶呈現出正確的頁面效果。
那麼有人可能就會問了,除了http協議(和https協議)之外還有其他的協議嗎?
答案是肯定的,而且也正是因為存在著多種網路協議,這些網址的前面纔要標明「http://」以使得自己能與其他協議區別開來。
==========
比如,有一個著名的文件傳輸協議(File Transfer Protocol,FTP)。
在國內某電影資源網站,我們還可以見到這個協議的痕跡:
大家可以看到,這個鏈接和普通的網站鏈接十分相似,只不過開頭的https被換成了ftp。
而實際上,這家網站鏈接的背後使用的是下文將會說到的迅雷thunder協議。
再比如,用來發送電子郵件的mailto協議。
在瀏覽器中輸入上面的URL並執行跳轉後,瀏覽器會自動調用系統默認的郵件客戶端向[email protected]這個郵箱發送一封題目為「題目」,內容只有兩個字「內容」的郵件。我在Win10系統中測試時,系統會彈出Win10自帶的郵件客戶端並提示我添加賬戶。
還有用來打開本地文件的file協議,假設在我的D:目錄下有一個名為abc.txt的文件,那麼我在瀏覽器中鍵入
並執行跳轉之後,瀏覽器就打開了這個文本文件並且顯示出了其裡面的內容。
在某些資源網站上,我們可能還會見到ed2k協議(eDonkey2000協議)。
如著名的MSDN, 我告訴你,其中所有的下載鏈接均為ed2k鏈接。
ed2k協議最早由美國的MetaMachine公司原創,並用於eDonkey2000軟體中。
國內用戶最早接觸ed2k應該是從2000年代風靡一時的VeryCD電驢(eMule veryCD mod)開始。
=========
另外一個比較常見的下載協議是Magnet協議(磁力鏈接)。磁力鏈接是一種目前比較先進也比較常見的文件共享技術。
磁力鏈接常見於某電影資源網站。
除此之外,還有很多專門的磁力鏈搜索引擎,可以根據用戶輸入的關鍵詞在全網搜索相關的磁力鏈資源。
上面說的這些協議基本已經成為了全球通行的標準,但是除了這樣的標準之外,軟體廠商也可以實現自己的協議,用來實現網頁與自家產品的交互。
如國內著名下載軟體迅雷就有自己的協議。
相信很多人都見過形如下圖的迅雷專用鏈接。
當我將這樣的鏈接複製到瀏覽器的地址欄中並執行跳轉之後,瀏覽器會彈出這樣的提示:
如果我同意打開ThunderNewTask,那麼系統就會打開迅雷軟體並彈出對應的新建任務窗口。
這就是一種典型的自定義協議。
接下來我們來看一些比較有趣的協議,這些協議是由微軟內置在Windows系統當中的。
bingweather
bingweather://aaa
如果你使用的是Win10系統,那麼你可以試著複製上面的鏈接到瀏覽器地址欄中,按下回車,瀏覽器應該會提示是否要打開系統自帶的「天氣」應用。
如果你的瀏覽器不能彈出提示或者直接當做搜索關鍵詞處理,那麼也可以按快捷鍵「Win+r」打開「運行」窗口,再在「運行」窗口中輸入鏈接,也可以達到相同的跳轉效果。
msnweather
msnweather://aaa
與bingweather效果相同。
bingmaps
bingmaps://aaa
calculator
calculator://aaa
ms-calculator
ms-calculator://aaa
與calculator效果相同
insiderhub
insiderhub://aaa
microsoft-edge
microsoft-edge://aaa
這個協議的意圖就十分明顯了,調用Win10自帶的Edge瀏覽器。
ms-chat
ms-chat://aaa
ms-clock
ms-clock://aaa
ms-contact-support
ms-contact-support://aaa
ms-cortana
ms-cortana://aaa
ms-getoffice
ms-getoffice://aaa
ms-get-started
ms-get-started:aaa
ms-paint
ms-paint:aaa
以下鏈接只能在「運行」窗口中輸入打開。
com.microsoft.3dviewer
com.microsoft.3dviewer:aaa
microsoft.windows.camera:aaa
Microsoft.Workfolders:aaa
一堆有(méi)趣(yòng)的協議說完了。
我們再回過頭來看一開始的HTTP協議,HTTP協議用了這麼多年,現在為什麼變成了HTTPS呢?
HTTPS比HTTP就多了一個字母「s」,這個s指的是secure,安全。
HTTPS由於使用了安全套接字層(Secure Sockets Layer,SSL),因而具有更加強大的機密性和數據完整性。
簡單地說,從http變成https,主要是為了三件事:
安全
還是他媽的 安全
當然了,雖然HTTPS比HTTP協議更加安全,但是考慮到更新所需要的各項成本,一開始各大網站其實是拒絕的。
反正HTTP用著好好的,又不會影響自己做生意,何必多這個事呢。
然而,就在2018年2月9日,Google公司宣佈,從同年7月發布的Chrome 68穩定版開始,所有仍然採用HTTP的網站都將被標記為「不安全」。
而在此之前,Mozilla也曾經宣稱旗下的FIrefox瀏覽器會將所有HTTP頁面標記為不安全。
沒有哪家公司會希望自己的網站像這樣呈現在用戶的面前,所以自從這個消息發出之後,越來越多的網站都紛紛轉向了HTTPS。
於是我們現在就會發現,幾乎所有的網站前面都是「https://」而不再是曾經的「http://」了。
正所謂「世事洞明皆學問」,所有不起眼細節的背後,可能都隱藏著屬於它自己的故事。
全文完,感謝您的耐心閱讀。