網站logo
SEO
網站優化
seo369團隊,專注SEO網站優化
百度關鍵詞排名優化,先排名后付費
引領SEO見效果付費新潮流
聯系電話
您現在的位置: seo優化SEO優化 

https和http有何區別?HTTPS的七個誤解

來源:SEO369  2018-02-22  關鍵字:https http

 https和http我們經常見到的url形式,這兩種有什么區別,恐怕大家都不太理解,現在我們就簡單介紹一下他們之間的異同。

 

https和http有何區別?HTTPS的七個誤解

 

首先談談什么是HTTPS:

  HTTPS(Secure Hypertext Transfer Protocol)安全超文本傳輸協議 它是一個安全通信通道,它基于HTTP開發,用于在客戶計算機和服務器之間交換信息。它使用安全套接字層(SSL)進行信息交換,簡單來說它是HTTP的安全版。 它是由Netscape開發并內置于其瀏覽器中,用于對數據進行壓縮和解壓操作,并返回網絡上傳送回的結果。

  HTTPS實際上應用了Netscape的安 全全套接字層(SSL)作為HTTP應用層的子層。(HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進行通信。)SSL使 用40 位關鍵字作為RC4流加密算法,這對于商業信息的加密是合適的。HTTPS和SSL支持使用X。509數字認證,如果需要的話用戶可以確認發送者是誰。

HTTPS和HTTP的區別:

  https協議需要到ca申請證書,一般免費證書很少,需要交費。

  http是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議 http和https使用的是完全不同的連接方式用的端口也不一樣:前者是80,后者是443。

  http的連接很簡單,是無狀態的 HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議 要比http協議安全 HTTPS解決的問題:

  1、信任主機的問題。 采用https 的server 必須從CA 申請一個用于證明服務器用途類型的證書。

  改證書只有用于對應的server 的時候,客戶度才信任次主機。所以目前所有的銀行系統網站,關鍵部分應用都是https 的。 客戶通過信任該證書,從而信任了該主機。其實這樣做效率很低,但是銀行更側重安全。 這一點對我們沒有任何意義,我們的server,采用的證書不管自己issue 還是從公眾的地方issue, 客戶端都是自己人,所以我們也就肯定信任該server。

  2、通訊過程中的數據的泄密和被竄改。

  1)一般意義上的https, 就是 server 有一個證書。

  a) 主要目的是保證server 就是他聲稱的server。這個跟第一點一樣。

  b) 服務端和客戶端之間的所有通訊,都是加密的。

  i、具體講,是客戶端產生一個對稱的密鑰,通過server 的證書來交換密鑰。 一般意義上的握手過程。

  ii、加下來所有的信息往來就都是加密的。 第三方即使截獲,也沒有任何意義。因為他沒有密鑰。 當然竄改也就沒有什么意義了。

  2)少許對客戶端有要求的情況下,會要求客戶端也必須有一個證書。

  a) 這里客戶端證書,其實就類似表示個人信息的時候,除了用戶名/密碼, 還有一個CA 認證過的身份。 應為個人證書一般來說上別人無法模擬的,所有這樣能夠更深的確認自己的身份。

  b) 目前少數個人銀行的專業版是這種做法,具體證書可能是拿U盤作為一個備份的載體。像我用的交通銀行的網上銀行就是采取的這種方式。 HTTPS 一定是繁瑣的。

  a) 本來簡單的http協議,一個get一個response。由于https 要還密鑰和確認加密算法的需要。單握手就需要6/7 個往返。

  i、任何應用中,過多的round trip 肯定影響性能。

  b) 接下來才是具體的http協議,每一次響應或者請求, 都要求客戶端和服務端對會話的內容做加密/解密。

  i、盡管對稱加密/解密效率比較高,可是仍然要消耗過多的CPU,為此有專門的SSL 芯片。 如果CPU 信能比較低的話,肯定會降低性能,從而不能serve 更多的請求。

  附:SSL的簡介:

  SSL是Netscape公司所提出的安全保密協議,在瀏覽器(如Internet Explorer、Netscape Navigator)和Web服務器(如Netscape的Netscape Enterprise Server、ColdFusion Server等等)之間構造安全通道來進行數據傳輸,SSL運行在TCP/IP層之上、應用層之下,為應用程序提供加密數據通道,它采用了RC4、MD5 以及RSA等加密算法,使用40 位的密鑰,適用于商業信息的加密。

  同時,Netscape公司相應開發了HTTPS協議并內置于其瀏覽器中,HTTPS實際上就是SSL over HTTP,它使用默認端口443,而不是像HTTP那樣使用端口80來和TCP/IP進行通信。HTTPS協議使用SSL在發送方把原始數據進行加密,然 后在接受方進行解密,加密和解密需要發送方和接受方通過交換共知的密鑰來實現,因此,所傳送的數據不容易被網絡黑客截獲和解密。

  然而,加密和解密過程需要耗費系統大量的開銷,嚴重降低機器的性能,相關測試數據表明使用HTTPS協議傳輸數據的工作效率只有使用HTTP協議傳輸的十 分之一。

  假如為了安全保密,將一個網站所有的Web應用都啟用SSL技術來加密,并使用HTTPS協議進行傳輸,那么該網站的性能和效率將會大大降低,而且沒有這個必要,因為一般來說并不是所有數據都要求那么高的安全保密級別,所以,我們只需對那些涉及機密數據的交互處理使用HTTPS協議,這樣就做到魚與熊掌兼得。總之不需要用https 的地方,就盡量不要用。

 

  HTTPS的七個誤解

  誤解七:HTTPS無法緩存

  許多人以為,出于安全考慮,瀏覽器不會在本地保存HTTPS緩存。實際上,只要在HTTP頭中使用特定命令,HTTPS是可以緩存的。

  微軟的IE項目經理Eric Lawrence寫道:

  "說來也許令人震驚,只要HTTP頭允許這樣做,所有版本的IE都緩存HTTPS內容。比如,如果頭命令是Cache-Control:max-age=600,那么這個網頁就將被IE緩存10分鐘。IE的緩存策略,與是否使用HTTPS協議無關。(其他瀏覽器在這方面的行為不一致,取決于你使用的版本,所以這里不加以討論。)"

  Firefox默認只在內存中緩存HTTPS。但是,只要頭命令中有Cache-Control:Public,緩存就會被寫到硬盤上。下面的圖片顯示,Firefox的硬盤緩存中有HTTPS內容,頭命令正是Cache-Control:Public。

  誤解六:SSL證書很貴

  如果你在網上搜一下,就會發現很多便宜的SSL證書,大概10美元一年,這和一個.com域名的年費差不多。而且事實上,還能找到免費的SSL證書。

  在效力上,便宜的證書當然會比大機構頒發的證書差一點,但是幾乎所有的主流瀏覽器都接受這些證書。

  誤解五:HTTPS站點必須有獨享的IP地址

  由于IPv4將要分配完畢,所以很多人關心這個問題。每個IP地址只能安裝一張SSL證書,這是毫無疑問的。但是,如果你使用子域名通配符SSL證書(wildcard SSL certificate,價格大約是每年125美元),就能在一個IP地址上部署多個HTTPS子域名。比如,https://www.httpwatch.com和https://store.httpwatch.com,就共享同一個IP地址。

  另外,UCC(統一通信證書,Unified Communications Certificate)支持一張證書同時匹配多個站點,可以是完全不同的域名。SNI(服務器名稱指示,Server Name Indication)允許一個IP地址上多個域名安裝多張證書。服務器端,Apache和Nginx支持該技術,IIS不支持;客戶端,IE7+、Firefox 2.0+、Chrome 6+、Safari 2.1+和Opera 8.0+支持。

  誤解四:轉移服務器時要購買新證書

  部署SSL證書,需要這樣幾步:

  1. 在你的服務器上,生成一個CSR文件(SSL證書請求文件,SSL Certificate Signing Request)。

  2. 使用CSR文件,購買SSL證書。

  3. 安裝SSL證書。

  這些步驟都經過精心設計,保證傳輸的安全,防止有人截取或非法獲得證書。結果就是,你在第二步得到的證書不能用在另一臺服務器上。如果你需要這樣做,就必須以其他格式輸出證書。

  比如,IIS的做法是生成一個可以轉移的.pfx文件,并加以密碼保護。

  將這個文件傳入其他服務器,將可以繼續使用原來的SSL證書了。

  誤解三:HTTPS太慢

  使用HTTPS不會使你的網站變得更快(實際上有可能,請看下文),但是有一些技巧可以大大減少額外開銷。

  首先,只要壓縮文本內容,就會降低解碼耗用的CPU資源。不過,對于當代CPU來說,這點開銷不值一提。

  其次,建立HTTPS連接,要求額外的TCP往返,因此會新增一些發送和接收的字節。但是,從下圖可以看到,新增的字節是很少的。

clip_image006

  第一次打開網頁的時候,HTTPS協議會比HTTP協議慢一點,這是因為讀取和驗證SSL證書的時間。下面是一張HTTP網頁打開時間的瀑布圖。

  同一張網頁使用HTTPS協議之后,打開時間變長了。

  

https和http有何區別?HTTPS的七個誤解

 

  建立連接的部分,大約慢了10%。但是,一旦有效的HTTPS連接建立起來,再刷新網頁,兩種協議幾乎沒有區別。先是HTTP協議的刷新表現:

  

https和http有何區別?HTTPS的七個誤解

 

  然后是HTTPS協議:

  

https和http有何區別?HTTPS的七個誤解

 

  某些用戶可能發現,HTTPS比HTTP更快一點。這會發生在一些大公司的內部局域網,因為通常情況下,公司的網關會截取并分析所有的網絡通信。但 是,當它遇到HTTPS連接時,它就只能直接放行,因為HTTPS無法被解讀。正是因為少了這個解讀的過程,所以HTTPS變得比較快。

  誤解二:有了HTTPS,Cookie和查詢字符串就安全了

  雖然無法直接從HTTPS數據中讀取Cookie和查詢字符串,但是你仍然需要使它們的值變得難以預測。

  比如,曾經有一家英國銀行,直接使用順序排列的數值表示session id:

  

https和http有何區別?HTTPS的七個誤解

 

  黑客可以先注冊一個賬戶,找到這個cookie,看到這個值的表示方法。然后,改動cookie,從而劫持其他人的session id。至于查詢字符串,也可以通過類似方式泄漏。

  誤解一:只有注冊登錄頁,才需要HTTPS

  這種想法很普遍。人們覺得,HTTPS可以保護用戶的密碼,此外就不需要了。Firefox瀏覽器新插件Firesheep,證明了這種想法是錯的。我們可以看到,在Twitter和Facebook上,劫持其他人的session是非常容易的。

  咖啡館的免費WiFi,就是一個很理想的劫持環境,因為兩個原因:

  1. 這種WiFi通常不會加密,所以很容易監控所有流量。

  2. WiFi通常使用NAT進行外網和內網的地址轉換,所有內網客戶端都共享一個外網地址。這意味著,被劫持的session,看上去很像來自原來的登錄者。

  以Twitter為例,它的登錄頁使用了HTTPS,但是登錄以后,其他頁面就變成了HTTP。這時,它的cookie里的session值就暴露了。

  

https和http有何區別?HTTPS的七個誤解

 

  也就是說,這些cookie是在HTTPS環境下建立的,但是卻在HTTP環境下傳輸。如果有人劫持到這些cookie,那他就能以你的身份在Twitter上發言了。



說明:本文由SEO369團隊編輯整理,有侵犯權益的地方請聯系站長刪除,如果需要了解更過SEO方面的知識請關注SEO369。
SEO優化logo
頻道總排行
新網站的SEO優化排名應該注意的幾個問題
https和http有何區別?HTTPS的七個誤解
SEO優化這樣修改簡單網頁模板更加好
做SEO運營5個實用的思維技巧
SEO優化給你更好的用戶體驗
網站常規的SEO優化步驟有哪些?
網站優化切忌十點
關于seo優化技術之內鏈的使用方法
SEO優化應該要避免的四個操作誤區
SEO優化百度為什么喜歡原創文章
您可能還想了解
【河北seo】:到底什么才是真的動態url和靜態url區別?
做江西seo時候網站界面好壞重要嗎
原創內容對于網站SEO重要嗎
浙江seo后的網站推廣計劃
江蘇網站建設公司網站一些小竅門分享
福建SEO優化網站過程中的內容創作的大忌
【內蒙古seo】如何做好內蒙古seo的內部鏈接結構
【遼寧網站優化】過程中高質量友鏈和外鏈操作方法
SEO網站優化的外鏈變的多樣性
網站如何做好網站關鍵詞優化
欄目導航
SEO基礎
SEO優化
SEO技術
SEO教程
快速排名
關鍵詞優化
整站優化
百度SEO
網站建設
網站優化
SEO | 網站優化 | 各地SEO資訊 | 網站地圖
【SEO369】探索SEO優化的奧秘,專業提供企業SEO、網站優化、網站建設服務
版權所有:SEO369  備案號:津ICP備08002309號
在線客服
網站優化
QQ: 41868630
TEL: 4008001220
欧美高清在线视频一区二区