這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 一、HTTP HTTP (HyperText Transfer Protocol),即超文本運輸協議,是實現網路通信的一種規範 在電腦和網路世界有,存在不同的協議,如廣播協議、定址協議、路由協議等等...... 而HTTP是一個傳輸協議 ...
這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助
一、HTTP
HTTP
(HyperText Transfer Protocol),即超文本運輸協議,是實現網路通信的一種規範
在電腦和網路世界有,存在不同的協議,如廣播協議、定址協議、路由協議等等......
而HTTP
是一個傳輸協議,即將數據由A傳到B或將B傳輸到A,並且 A 與 B 之間能夠存放很多第三方,如: A<=>X<=>Y<=>Z<=>B
傳輸的數據並不是電腦底層中的二進位包,而是完整的、有意義的數據,如HTML 文件, 圖片文件, 查詢結果等超文本,能夠被上層應用識別
在實際應用中,HTTP
常被用於在Web
瀏覽器和網站伺服器之間傳遞信息,以明文方式發送內容,不提供任何方式的數據加密
特點如下:
-
支持客戶/伺服器模式
-
簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。由於HTTP協議簡單,使得HTTP伺服器的程式規模小,因而通信速度很快
-
靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記
-
無連接:無連接的含義是限制每次連接只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間
-
無狀態:HTTP協議無法根據之前的狀態進行本次的請求處理
二、HTTPS
在上述介紹HTTP
中,瞭解到HTTP
傳遞信息是以明文的形式發送內容,這並不安全。而HTTPS
出現正是為瞭解決HTTP
不安全的特性
為了保證這些隱私數據能加密傳輸,讓HTTP
運行安全的SSL/TLS
協議上,即 HTTPS = HTTP + SSL/TLS,通過 SSL
證書來驗證伺服器的身份,併為瀏覽器和伺服器之間的通信進行加密
SSL
協議位於TCP/IP
協議與各種應用層協議之間,瀏覽器和伺服器在使用 SSL
建立連接時需要選擇一組恰當的加密演算法來實現安全通信,為數據通訊提供安全支持
流程圖如下所示:
- 首先客戶端通過URL訪問伺服器建立SSL連接
- 服務端收到客戶端請求後,會將網站支持的證書信息(證書中包含公鑰)傳送一份給客戶端
- 客戶端的伺服器開始協商SSL連接的安全等級,也就是信息加密的等級
- 客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然後利用網站的公鑰將會話密鑰加密,並傳送給網站
- 伺服器利用自己的私鑰解密出會話密鑰
- 伺服器利用會話密鑰加密與客戶端之間的通信
三、區別
- HTTPS是HTTP協議的安全版本,HTTP協議的數據傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協議進行了加密處理,相對更安全
- HTTP 和 HTTPS 使用連接方式不同,預設埠也不一樣,HTTP是80,HTTPS是443
- HTTPS 由於需要設計加密以及多次握手,性能方面不如 HTTP
- HTTPS需要SSL,SSL 證書需要錢,功能越強大的證書費用越高
參考文獻
- https://www.cnblogs.com/klb561/p/10289199.html
- https://www.jianshu.com/p/205c0fc51c97
- https://vue3js.cn/interview