Http與Https的區別

2021-10-10 14:12:12 字數 1924 閱讀 3400

https和http的區別主要如下:

1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

2、http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。

3、http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

4、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

以下是具體一些分析

一、http和https的基本概念

http:是網際網路上應用最為廣泛的一種網路協議,是乙個客戶端和伺服器端請求和應答的標準(tcp),用於從www伺服器傳輸超文字到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網路傳輸減少。

https:是以安全為目標的http通道,簡單講是http的安全版,即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。

二 、http和https的主要特點和工作流程

http特點

1.支援客戶/伺服器模式。(c/s模式)

3.靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。

4.無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

5.無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快

http工作流程

第一步:建立tcp/ip連線,客戶端與伺服器通過socket三次握手進行連線

第二步:客戶端向服務端發起http請求(例如:post/login.html http/1.1)

第三步:客戶端傳送請求頭資訊,請求內容,最後會傳送一空白行,標示客戶端請求完畢

第四步:伺服器做出應答,表示對於客戶端請求的應答,例如:http/1.1 200 ok

第五步:伺服器向客戶端傳送應答頭資訊

第六步:伺服器向客戶端傳送請求頭資訊後,也會傳送一空白行,標示應答頭資訊傳送完畢,接著就以content-type要求的資料格式傳送資料給客戶端

第七步:服務端關閉tcp連線,如果伺服器或者客戶端增connection:keep-alive就表示客戶端與伺服器端繼續儲存連線,在下次請求時可以繼續使用這次的連線

https特點

https是http協議的修改,它加密資料並確保其機密性。其配置可保護使用者在與**互動時免於竊取個人資訊和計費資料。

1、優點

相比於http,https可以提供更加優質保密的資訊,保證了使用者資料的安全性,此外https同時也一定程度上保護了服務端,使用惡意攻擊和偽裝資料的成本大大提高。

2、缺點

缺點也同樣很明顯,第一https的技術門檻較高,多數個人或者私人**難以支撐,ca機構頒發的證書都是需要年費的,此外對接https協議也需要額外的技術支援;其二,目前來說大多數**並不關心資料的安全性和保密性,其https最大的優點對它來說並不適用;其三,https加重了服務端的負擔,相比於http其需要更多的資源來支撐,同時也降低了使用者的訪問速度;第四,目前來說http**仍然大規模使用,在瀏覽器側也沒有特別大的差別,很多使用者不關心的話根本不感知。

https工作流程

第一步:客戶使用https的url訪問web伺服器,要求與web伺服器建立ssl連線。

第三步:客戶端的瀏覽器與web伺服器開始協商ssl連線的安全等級,也就是資訊加密的等級。

第五步:web伺服器利用自己的私鑰解密出會話金鑰。

第六步:web伺服器利用會話金鑰加密與客戶端之間的通訊。

http 與 https 的區別

https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。它是由netscape開發並內置於其瀏覽器中,...

HTTPS與HTTP的區別

最近學習網路相關的知識,看到https和http,兩個有區別,於是在網上找了相關的資料,放在自己的部落格,作為學習筆記吧。ssl介紹 ssl secure socket layer 為netscape所研發,用以保障在internet上資料傳輸之安全,利用 資料加密 encryption 技術,可確...

http與https的區別

在url前加https 字首表明是用ssl加密的。你的電腦與伺服器之間收發的資訊傳輸將更加安全。web伺服器啟用ssl需要獲得乙個伺服器證書並將該證書與要使用ssl的伺服器繫結。http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443 https協議是由ssl htt...