https和http的概念以及主要區別
發布時間:2019-08-06
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。
HTTPS協議的主要作用可以分為兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。
二 、HTTP和HTTPS的主要特點和工作流程
HTTP特點
1.支持客戶/服務器模式。(C/S模式)
2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。由于HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。
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服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
第三步:客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。
第四步:客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,并傳送給網站。
第五步:Web服務器利用自己的私鑰解密出會話密鑰。
第六步:Web服務器利用會話密鑰加密與客戶端之間的通信。
最后說一句 ,ssl證書阿里云上可以免費申請一年