什么是HTTP:
超文本傳輸協(xié)議 (HTTP-Hypertext transfer protocol) 是一種詳細(xì)規(guī)定了瀏覽器和萬維網(wǎng)服務(wù)器之間互相通信的規(guī)則阿趁,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議另患。
什么是HTTPS:
HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協(xié)議 它是一個安全通信通道迅细,它基于HTTP開發(fā)癣朗,用于在客戶計算機和服務(wù)器之間交換信息。它使用安全套接字層(SSL)進(jìn)行信息交換媒吗,簡單來說它是HTTP的安全版往堡。 它是由Netscape開發(fā)并內(nèi)置于其瀏覽器中,用于對數(shù)據(jù)進(jìn)行壓縮和解壓操作翠拣,并返回網(wǎng)絡(luò)上傳送回的結(jié)果版仔。
HTTPS實際上應(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ā)送者是誰。
HTTPS和HTTP的區(qū)別:
https協(xié)議需要到ca申請證書畦娄,一般免費證書很少又沾,需要交費。
http是超文本傳輸協(xié)議熙卡,信息是明文傳輸杖刷,https 則是具有安全性的ssl加密傳輸協(xié)議
http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80,后者是443。
http的連接很簡單,是無狀態(tài)的HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸驳癌、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議 要比http協(xié)議安全
HTTPS解決的問題:
1滑燃、信任主機的問題。 采用https 的server 必須從CA 申請一個用于證明服務(wù)器用途類型的證書颓鲜。
改證書只有用于對應(yīng)的server 的時候表窘,客戶度才信任次主機。所以目前所有的銀行系統(tǒng)網(wǎng)站甜滨,關(guān)鍵部分應(yīng)用都是https 的乐严。 客戶通過信任該證書,從而信任了該主機衣摩。其實這樣做效率很低昂验,但是銀行更側(cè)重安全。 這一點對我們沒有任何意義,我們的server既琴,采用的證書不管自己issue 還是從公眾的地方issue占婉, 客戶端都是自己人,所以我們也就肯定信任該server呛梆。
2锐涯、通訊過程中的數(shù)據(jù)的泄密和被竄改。
1)一般意義上的https填物, 就是 server 有一個證書纹腌。
a) 主要目的是保證server 就是他聲稱的server。這個跟第一點一樣滞磺。
b) 服務(wù)端和客戶端之間的所有通訊升薯,都是加密的。
i击困、具體講涎劈,是客戶端產(chǎn)生一個對稱的密鑰,通過server 的證書來交換密鑰阅茶。 一般意義上的握手過程蛛枚。
ii、加下來所有的信息往來就都是加密的脸哀。 第三方即使截獲蹦浦,也沒有任何意義。因為他沒有密鑰撞蜂。 當(dāng)然竄改也就沒有什么意義了盲镶。
2)少許對客戶端有要求的情況下义辕,會要求客戶端也必須有一個證書馅而。
a) 這里客戶端證書,其實就類似表示個人信息的時候豆拨,除了用戶名/密碼浦旱, 還有一個CA 認(rèn)證過的身份宇色。 應(yīng)為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認(rèn)自己的身份颁湖。
b) 目前少數(shù)個人銀行的專業(yè)版是這種做法代兵,具體證書可能是拿U盤作為一個備份的載體。像我用的交通銀行的網(wǎng)上銀行就是采取的這種方式爷狈。 HTTPS 一定是繁瑣的。
a) 本來簡單的http協(xié)議裳擎,一個get一個response涎永。由于https 要還密鑰和確認(rèn)加密算法的需要。單握手就需要6/7 個往返。
i羡微、任何應(yīng)用中谷饿,過多的round trip 肯定影響性能。
b) 接下來才是具體的http協(xié)議妈倔,每一次響應(yīng)或者請求博投, 都要求客戶端和服務(wù)端對會話的內(nèi)容做加密/解密。
i盯蝴、盡管對稱加密/解密效率比較高毅哗,可是仍然要消耗過多的CPU,為此有專門的SSL 芯片捧挺。 如果CPU 信能比較低的話虑绵,肯定會降低性能,從而不能serve 更多的請求闽烙。
符:SSL的簡介:
SSL是Netscape公司所提出的安全保密協(xié)議翅睛,在瀏覽器(如Internet Explorer、Netscape Navigator)和Web服務(wù)器(如Netscape的Netscape Enterprise Server黑竞、ColdFusion Server等等)之間構(gòu)造安全通道來進(jìn)行數(shù)據(jù)傳輸捕发,SSL運行在TCP/IP層之上、應(yīng)用層之下很魂,為應(yīng)用程序提供加密數(shù)據(jù)通道扎酷,它采用了RC4、MD5 以及RSA等加密算法莫换,使用40 位的密鑰霞玄,適用于商業(yè)信息的加密。
同時拉岁,Netscape公司相應(yīng)開發(fā)了HTTPS協(xié)議并內(nèi)置于其瀏覽器中坷剧,HTTPS實際上就是SSL over HTTP,它使用默認(rèn)端口443喊暖,而不是像HTTP那樣使用端口80來和TCP/IP進(jìn)行通信惫企。HTTPS協(xié)議使用SSL在發(fā)送方把原始數(shù)據(jù)進(jìn)行加密,然 后在接受方進(jìn)行解密陵叽,加密和解密需要發(fā)送方和接受方通過交換共知的密鑰來實現(xiàn)狞尔,因此,所傳送的數(shù)據(jù)不容易被網(wǎng)絡(luò)黑客截獲和解密巩掺。
然而偏序,加密和解密過程需要耗費系統(tǒng)大量的開銷,嚴(yán)重降低機器的性能胖替,相關(guān)測試數(shù)據(jù)表明使用HTTPS協(xié)議傳輸數(shù)據(jù)的工作效率只有使用HTTP協(xié)議傳輸?shù)氖?分之一研儒。
假如為了安全保密豫缨,將一個網(wǎng)站所有的Web應(yīng)用都啟用SSL技術(shù)來加密,并使用HTTPS協(xié)議進(jìn)行傳輸端朵,那么該網(wǎng)站的性能和效率將會大大降低好芭,而且沒有這個必要,因為一般來說并不是所有數(shù)據(jù)都要求那么高的安全保密級別冲呢,所以舍败,我們只需對那些涉及機密數(shù)據(jù)的交互處理使用HTTPS協(xié)議,這樣就做到魚與熊掌兼得敬拓×谑恚總之不需要用https 的地方,就盡量不要用恩尾。
http更改https
這個需要在網(wǎng)站的服務(wù)器端部署SSL證書才可以實現(xiàn)https加密訪問弛说,你可要到沃通CA去申請免費的SSL證書部署到服務(wù)器端就可以實現(xiàn)https訪問了。
https更改http
關(guān)閉SSL模塊翰意,將端口指向80端口木人。配置好默認(rèn)頁面目錄即可。