HTTPS和HTTP的區(qū)別

前言

一直以來想總結(jié)下HTTPS和HTTP的區(qū)別苦囱,近來看了些相關(guān)資料,在此總結(jié)下脾猛。首先給出參考的資料撕彤,并表示感謝:
http://www.reibang.com/p/37654eb66b58
http://www.codeceo.com/article/differ-between-https-and-http.html
《圖解HTTP》(感覺寫的不錯(cuò),推薦~)

下面進(jìn)入正題猛拴,一句話總結(jié)下:HTTP效率更高羹铅,HTTPS安全性更高。

1愉昆、幾個(gè)概念

1-1 什么是HTTP

HTTP是一個(gè)客戶端終端(用戶)和服務(wù)器端(網(wǎng)站)請求和應(yīng)答的標(biāo)準(zhǔn)(TCP)职员。通過使用網(wǎng)頁瀏覽器網(wǎng)絡(luò)爬蟲或者其它的工具撼唾,客戶端發(fā)起一個(gè)HTTP請求到服務(wù)器上指定端口(默認(rèn)端口為80)廉邑。我們稱這個(gè)客戶端為用戶代理程序(user agent)哥蔚。應(yīng)答的服務(wù)器上存儲(chǔ)著一些資源,比如HTML文件和圖像蛛蒙。我們稱這個(gè)應(yīng)答服務(wù)器為源服務(wù)器(origin server)糙箍。在用戶代理和源服務(wù)器中間可能存在多個(gè)“中間層”,比如代理服務(wù)器牵祟、網(wǎng)關(guān)或者隧道(tunnel)深夯。
盡管TCP/IP協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用,HTTP協(xié)議中诺苹,并沒有規(guī)定必須使用它或它支持的層咕晋。事實(shí)上,HTTP可以在任何互聯(lián)網(wǎng)協(xié)議上收奔,或其他網(wǎng)絡(luò)上實(shí)現(xiàn)掌呜。HTTP假定其下層協(xié)議提供可靠的傳輸。因此坪哄,任何能夠提供這種保證的協(xié)議都可以被其使用质蕉。因此也就是其在TCP/IP協(xié)議族使用TCP作為其傳輸層。
通常翩肌,由HTTP客戶端發(fā)起一個(gè)請求模暗,創(chuàng)建一個(gè)到服務(wù)器指定端口(默認(rèn)是80端口)的TCP連接。HTTP服務(wù)器則在那個(gè)端口監(jiān)聽客戶端的請求念祭。一旦收到請求兑宇,服務(wù)器會(huì)向客戶端返回一個(gè)狀態(tài),比如"HTTP/1.1 200 OK"粱坤,以及返回的內(nèi)容隶糕,如請求的文件、錯(cuò)誤消息比规、或者其它信息若厚。

1-2 什么是SSL

SSL是Netscape公司所提出的安全保密協(xié)議,在瀏覽器(如Internet Explorer蜒什、Netscape Navigator)和Web服務(wù)器(如Netscape的Netscape Enterprise Server测秸、ColdFusion Server等等)之間構(gòu)造安全通道來進(jìn)行數(shù)據(jù)傳輸,SSL運(yùn)行在TCP/IP層之上灾常、應(yīng)用層之下霎冯,為應(yīng)用程序提供加密數(shù)據(jù)通道,它采用了RC4钞瀑、MD5 以及RSA等加密算法沈撞,使用40 位的密鑰,適用于商業(yè)信息的加密雕什。SSL包含記錄層(Record Layer)和傳輸層缠俺,記錄層協(xié)議確定傳輸層數(shù)據(jù)的封裝格式显晶。傳輸層安全協(xié)議使用X.509認(rèn)證,之后利用非對稱加密演算來對通信方做身份認(rèn)證壹士,之后交換對稱密鑰作為會(huì)談密鑰(Session key)磷雇。這個(gè)會(huì)談密鑰是用來將通信兩方交換的數(shù)據(jù)做加密,保證兩個(gè)應(yīng)用間通信的保密性和可靠性躏救,使客戶與服務(wù)器應(yīng)用之間的通信不被攻擊者竊聽唯笙。

1-3 什么是HTTPS

HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協(xié)議,它是一個(gè)安全通信通道盒使,它基于HTTP開發(fā)崩掘,用于在客戶計(jì)算機(jī)和服務(wù)器之間交換信息。它使用安全套接字層(SSL)進(jìn)行信息交換少办,簡單來說它是HTTP的安全版苞慢。 它是由Netscape開發(fā)并內(nèi)置于其瀏覽器中,用于對數(shù)據(jù)進(jìn)行壓縮和解壓操作英妓,并返回網(wǎng)絡(luò)上傳送回的結(jié)果枉疼。HTTPS實(shí)際上應(yīng)用了Netscape的安全套接字層(SSL)作為HTTP應(yīng)用層的子層。(HTTPS使用端口443鞋拟,而不是象HTTP那樣使用端口80來和TCP/IP進(jìn)行通信。)SSL使 用40 位關(guān)鍵字作為RC4流加密算法惹资,這對于商業(yè)信息的加密是合適的贺纲。HTTPS和SSL支持使用X.509數(shù)字認(rèn)證,如果需要的話用戶可以確認(rèn)發(fā)送者是誰褪测。

2猴誊、如何加密

SSL采用一種叫做公開密鑰加密(Public-key cryptography)的加密方式。近代的加密方法中侮措,加密算法是公開的懈叹,而秘鑰是保密的,通過這種方式得以保持加密方法的安全性分扎。

2-1 共享密鑰加密的困境

加密和解密同用一個(gè)密鑰的方式稱為共享密鑰加密澄成, 也被叫做對稱密鑰加密。共享加密方式加密時(shí)必須將密鑰也發(fā)給對方畏吓,在互聯(lián)網(wǎng)上轉(zhuǎn)發(fā)密鑰時(shí)墨状,如果通信被監(jiān)聽那么密鑰就會(huì)落入攻擊者之手,同時(shí)也就失去了加密的意義菲饼。

那怎么才能安全的轉(zhuǎn)交肾砂?

2-2 使用兩把密鑰的公開密鑰加密

公開密鑰加密方式很好地解決了共享密鑰加密的困難。公開密鑰加密使用一對非對稱的密鑰宏悦,一把叫做私有密鑰镐确,另一把叫做公開密鑰包吝。
使用公開密鑰加密方式,發(fā)送密文的一方使用對方的公開密鑰進(jìn)行加密處理源葫,對方收到被加密的信息后诗越,在使用自己的私有密鑰進(jìn)行解密。利用這種方式臼氨,不需要發(fā)送用來解密的私有密鑰掺喻,也不用擔(dān)心密鑰被攻擊者竊聽而盜走。
另外储矩,要想根據(jù)密文和公開密鑰感耙,恢復(fù)到信息原文是異常困難的,因?yàn)榻饷苓^程就是在對離散對數(shù)進(jìn)行求值持隧,這并非輕而易舉就能辦到的即硼。退一步講,如果能對一個(gè)非常大的整數(shù)做到快速地因式分解屡拨,那么密碼還是在存在希望的只酥,但就目前的技術(shù)來看是不太現(xiàn)實(shí)的。

2-3 HTTPS采用混合加密機(jī)制

HTTPS采用共享秘鑰加密和公開秘鑰加密兩者并用的混合加密機(jī)制呀狼。若密鑰能夠?qū)崿F(xiàn)安全交換裂允,那么有可能會(huì)考慮僅適用公開密鑰加密來通信。但是公開密鑰加密和共享密鑰加密相比哥艇,其處理速度要慢绝编。
所以應(yīng)充分利用兩者各自優(yōu)勢,將多種方法組合起來用于通信貌踏。在交換密鑰環(huán)節(jié)適用公開密鑰加密方式十饥,之后的建立通信交換報(bào)文階段則使用共享密鑰加密方式。

2-4 證明公開密鑰的正確性的證書

遺憾的是祖乳,公開密鑰加密方式還是存在一些問題的逗堵,那就是無法證明公開密鑰本身就是貨真價(jià)實(shí)的公開密鑰。比如眷昆,正準(zhǔn)備和某臺(tái)服務(wù)器建立公開密鑰加密方式下的通信時(shí)蜒秤,如何證明收到的公開密鑰就是原本預(yù)想的那臺(tái)服務(wù)器發(fā)行的公開密鑰⊙钦或許在公開密鑰傳輸途中垦藏,真正的公開密鑰已經(jīng)被攻擊者替換了。
為了解決上述問題伞访,可以使用有數(shù)字證書認(rèn)證機(jī)構(gòu)和其他相關(guān)機(jī)關(guān)頒發(fā)的公開密鑰證書掂骏,基本流程為:

  1. 服務(wù)器把自己的公開密鑰登錄至數(shù)字證書認(rèn)證機(jī)構(gòu)
  2. 數(shù)字證書認(rèn)證機(jī)構(gòu)用自己的私有密鑰向服務(wù)器的公開密鑰署數(shù)字簽名并頒發(fā)公鑰證書
  3. 客戶端拿到服務(wù)器的公鑰證書后, 使用數(shù)字證書認(rèn)證機(jī)構(gòu)的公開密鑰, 向數(shù)字證書認(rèn)證機(jī)構(gòu)驗(yàn)證公鑰證書上的數(shù)字簽名, 以確認(rèn)服務(wù)器的公開密鑰的真實(shí)性
  4. 使用服務(wù)器的公開密鑰對報(bào)文加密后發(fā)送
  5. 服務(wù)器用私有密鑰對報(bào)文解密

3、HTTP+加密+認(rèn)證+完整性保護(hù) = HTTPS

HTTPS并非是應(yīng)用層的一種新協(xié)議厚掷。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS (Transport Layer Security) 協(xié)議替代而已弟灼。
通常级解,HTTP直接和TCP通信。當(dāng)使用SSL時(shí)田绑,演變成了先和SSL通信勤哗,再由SSL和TCP通信了。簡而言之掩驱,所謂HTTPS芒划,其實(shí)就是身披SSL協(xié)議的這層外殼的HTTP。
在采用SSL后欧穴,HTTP就擁有了HTTPS的加密民逼,證書和完整性的保護(hù)這些功能。
SSL是獨(dú)立于HTTP的協(xié)議涮帘,所有不光是HTTP協(xié)議拼苍, 其他運(yùn)行在應(yīng)用層的SMTP(郵件協(xié)議)和Telnet等協(xié)議均可配合SSL協(xié)議使用〉饔В可以說SSL是當(dāng)今世界上應(yīng)用最廣泛的網(wǎng)絡(luò)安全技術(shù)疮鲫。

4、效率

HTTPS協(xié)議使用SSL在發(fā)送方把原始數(shù)據(jù)進(jìn)行加密弦叶,然后在接受方進(jìn)行解密俊犯,加密和解密需要發(fā)送方和接受方通過交換共知的密鑰來實(shí)現(xiàn)。因此伤哺,所傳送的數(shù)據(jù)不容易被網(wǎng)絡(luò)黑客截獲和解密瘫析。 然而,加密和解密過程需要耗費(fèi)系統(tǒng)大量的開銷默责,嚴(yán)重降低機(jī)器的性能,相關(guān)測試數(shù)據(jù)表明使用HTTPS協(xié)議傳輸數(shù)據(jù)的工作效率只有使用HTTP協(xié)議傳輸?shù)氖种幌贪<偃鐬榱税踩C芴倚颍瑢⒁粋€(gè)網(wǎng)站所有的Web應(yīng)用都啟用SSL技術(shù)來加密,并使用HTTPS協(xié)議進(jìn)行傳輸烂瘫,那么該網(wǎng)站的性能和效率將會(huì)大大降低媒熊。而且沒有這個(gè)必要,因?yàn)橐话銇碚f并不是所有數(shù)據(jù)都要求那么高的安全保密級(jí)別坟比。所以芦鳍,我們只需對那些涉及機(jī)密數(shù)據(jù)的交互處理使用HTTPS協(xié)議,這樣就做到魚與熊掌兼得葛账。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柠衅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子籍琳,更是在濱河造成了極大的恐慌菲宴,老刑警劉巖贷祈,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喝峦,居然都是意外死亡势誊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門谣蠢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粟耻,“玉大人,你說我怎么就攤上這事眉踱〖访Γ” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵勋锤,是天一觀的道長饭玲。 經(jīng)常有香客問我,道長叁执,這世上最難降的妖魔是什么茄厘? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮谈宛,結(jié)果婚禮上次哈,老公的妹妹穿的比我還像新娘。我一直安慰自己吆录,他們只是感情好窑滞,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恢筝,像睡著了一般哀卫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上撬槽,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天此改,我揣著相機(jī)與錄音,去河邊找鬼侄柔。 笑死共啃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的暂题。 我是一名探鬼主播移剪,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼薪者!你這毒婦竟也來了纵苛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赶站,沒想到半個(gè)月后幔虏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贝椿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年想括,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烙博。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瑟蜈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出渣窜,到底是詐尸還是另有隱情铺根,我是刑警寧澤,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布乔宿,位于F島的核電站位迂,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏详瑞。R本人自食惡果不足惜掂林,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望坝橡。 院中可真熱鬧泻帮,春花似錦、人聲如沸计寇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽番宁。三九已至元莫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蝶押,已是汗流浹背踱蠢。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留播聪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓布隔,卻偏偏與公主長得像离陶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子衅檀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 今天在做雅虎的時(shí)候招刨,發(fā)現(xiàn)用第三方工具截取不到客戶端與服務(wù)端的通訊,以前重來沒碰到過這種情況哀军,仔細(xì)看了看沉眶,它的url...
    單純的土豆閱讀 987評(píng)論 0 1
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 20,880評(píng)論 24 176
  • 一打却、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信谎倔。所有信息明文傳播柳击,帶來了三大風(fēng)險(xiǎn)。 (1)竊聽風(fēng)險(xiǎn)...
    XLsn0w閱讀 10,556評(píng)論 2 44
  • 什么是 HTTPS? HTTPS (基于安全套接字層的超文本傳輸協(xié)議 或者是 HTTP over SSL) 是一個(gè)...
    田旭1閱讀 406評(píng)論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理片习,服務(wù)發(fā)現(xiàn)捌肴,斷路器,智...
    卡卡羅2017閱讀 134,722評(píng)論 18 139