https就是http和TCP之間有一層SSL層
簿煌,這一層的實(shí)際作用是防止釣魚(yú)和加密
酌摇。防止釣魚(yú)通過(guò)網(wǎng)站的證書(shū),網(wǎng)站必須有CA證書(shū)
驰坊,證書(shū)類(lèi)似于一個(gè)解密的簽名匾二。另外是加密,加密需要一個(gè)密鑰交換算法
拳芙,雙方通過(guò)交換后的密鑰加解密察藐。
什么是HTTP:
http的全稱(chēng)是Hypertext Transfer Protocol Vertion (超文本傳輸協(xié)議),說(shuō)通俗點(diǎn)就是用網(wǎng)絡(luò)鏈接傳輸文本信息的協(xié)議
HTTP協(xié)議的主要特點(diǎn)可概括如下:
1.支持客戶(hù)/服務(wù)器模式舟扎。
2.簡(jiǎn)單快速:客戶(hù)向服務(wù)器請(qǐng)求服務(wù)時(shí)分飞,只需傳送請(qǐng)求方法和路徑。請(qǐng)求方法常用的有GET睹限、HEAD譬猫、POST。每種方法規(guī)定了客戶(hù)與服務(wù)器聯(lián)系的類(lèi)型不同羡疗。由于HTTP協(xié)議簡(jiǎn)單染服,使得HTTP服務(wù)器的程序規(guī)模小,因而通信速度很快叨恨。
3.靈活:HTTP允許傳輸任意類(lèi)型的數(shù)據(jù)對(duì)象柳刮。正在傳輸?shù)念?lèi)型由Content-Type加以標(biāo)記。
4.無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶(hù)的請(qǐng)求秉颗,并收到客戶(hù)的應(yīng)答后痢毒,即斷開(kāi)連接。采用這種方式可以節(jié)省傳輸時(shí)間蚕甥。
5.無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議闸准。無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息梢灭,則它必須重傳夷家,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面敏释,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快库快。
什么是HTTPS:
https(Secure Hypertext Transfer Protocol)安全超文本傳輸協(xié)議
。
它是一個(gè)安全通信通道钥顽,它基于HTTP開(kāi)發(fā)义屏,用于在客戶(hù)計(jì)算機(jī)和服務(wù)器之間交換信息。它使用安全套接字層(SSL)
進(jìn)行信息交換蜂大,簡(jiǎn)單來(lái)說(shuō)它是HTTP的 安全版闽铐。 它是由Netscape開(kāi)發(fā)并內(nèi)置于其瀏覽器中,用于對(duì)數(shù)據(jù)進(jìn)行壓縮和解壓操作奶浦,并返回網(wǎng)絡(luò)上傳送回的結(jié)果兄墅。HTTPS實(shí)際上應(yīng)用了Netscape的安 全全套接字層(SSL)作為HTTP應(yīng)用層的子層
。(HTTPS使用端口443澳叉,而不是象HTTP那樣使用端口80來(lái)和TCP/IP進(jìn)行通信隙咸。)SSL使 用40 位關(guān)鍵字作為RC4流加密算法,這對(duì)于商業(yè)信息的加密是合適的成洗。HTTPS和SSL支持使用X.509數(shù)字認(rèn)證五督,如果需要的話(huà)用戶(hù)可以確認(rèn)發(fā)送者是誰(shuí)。
HTTPS和HTTP的區(qū)別:
https協(xié)議需要到ca申請(qǐng)證書(shū)瓶殃,一般免費(fèi)證書(shū)很少充包,需要交費(fèi)。
http是超文本傳輸協(xié)議遥椿,信息是明文傳輸基矮,https 則是具有安全性的ssl加密傳輸協(xié)議。
https和http都屬于應(yīng)用層(application layer)修壕,基于TCP(以及UDP)協(xié)議愈捅,但是又完全不一樣,http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80慈鸠,后者是443蓝谨。
http的連接很簡(jiǎn)單灌具,是無(wú)狀態(tài)的。
HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸譬巫、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議咖楣,要比http協(xié)議安全。
HTTPS解決的問(wèn)題:
1 . 信任主機(jī)的問(wèn)題. 采用https 的server 必須從CA 申請(qǐng)一個(gè)用于證明服務(wù)器用途類(lèi)型的證書(shū). 改證書(shū)只有用于對(duì)應(yīng)的server 的時(shí)候芦昔,客戶(hù)度才信任次主機(jī)诱贿。所以目前所有的銀行系統(tǒng)網(wǎng)站,關(guān)鍵部分應(yīng)用都是https 的咕缎,客戶(hù)通過(guò)信任該證書(shū)珠十,從而信任了該主機(jī),其實(shí)這樣做效率很低凭豪,但是銀行更側(cè)重安全焙蹭。這一點(diǎn)對(duì)我們沒(méi)有任何意義,我們的server 采用的證書(shū)不管自己issue 還是從公眾的地方issue嫂伞,客戶(hù)端都是自己人孔厉,所以我們也就肯定信任該server。
2 . 通訊過(guò)程中的數(shù)據(jù)的泄密和被竄改
1)一般意義上的https, 就是 server 有一個(gè)證書(shū).
a) 主要目的是保證server 就是他聲稱(chēng)的server. 這個(gè)跟第一點(diǎn)一樣.
b) 服務(wù)端和客戶(hù)端之間的所有通訊帖努,都是加密的.
i. 具體講撰豺,是客戶(hù)端產(chǎn)生一個(gè)對(duì)稱(chēng)的密鑰,通過(guò)server 的證書(shū)來(lái)交換密鑰拼余,一般意義上的握手過(guò)程污桦。
ii. 加下來(lái)所有的信息往來(lái)就都是加密的,第三方即使截獲姿搜,也沒(méi)有任何意義寡润,因?yàn)樗麤](méi)有密鑰,當(dāng)然竄改也就沒(méi)有什么意義了舅柜。
2)少許對(duì)客戶(hù)端有要求的情況下,會(huì)要求客戶(hù)端也必須有一個(gè)證書(shū)躲惰。
a) 這里客戶(hù)端證書(shū)致份,其實(shí)就類(lèi)似表示個(gè)人信息的時(shí)候,除了用戶(hù)名/密碼础拨, 還有一個(gè)CA 認(rèn)證過(guò)的身份氮块,個(gè)人證書(shū)一般來(lái)說(shuō)上別人無(wú)法模擬的,所有這樣能夠更深的確認(rèn)自己的身份诡宗。
b) 目前少數(shù)個(gè)人銀行的專(zhuān)業(yè)版是這種做法滔蝉,具體證書(shū)可能是拿U盤(pán)作為一個(gè)備份的載體。
https具體保護(hù)了啥塔沃?
簡(jiǎn)單來(lái)說(shuō)蝠引,保護(hù)了你從連接到這個(gè)網(wǎng)站開(kāi)始,到你關(guān)閉這個(gè)頁(yè)面為止,你和這個(gè)網(wǎng)站之間收發(fā)的所有信息螃概,就連url的一部分都被保護(hù)了矫夯。