即時通訊安全篇(九):為什么要用HTTPS克胳?深入淺出,探密短連接的安全性

本文由ELab技術團隊分享圈匆,原題“探秘HTTPS”漠另,有修訂和改動。

1跃赚、引言

對于IM開發(fā)者來說笆搓,IM里最常用的通信技術就是Socket長連接和HTTP短連接(通常一個主流im會是這兩種通信手段的結合)。從通信安全的角度來說纬傲,Socket長連接的安全性满败,就是基于SSL/TLS加密的TCP協(xié)議來實現(xiàn)的(比如微信的mmtls,見《微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解》)叹括;而對于HTTP短連接的安全性算墨,也就是HTTPS了。

到底什么是HTTPS汁雷?為什么要用HTTPS净嘀?今天就借此機會报咳,跟大家一起深入學習一下HTTPS的相關知識,包括HTTP的發(fā)展歷程挖藏、HTTP遇到的問題暑刃、對稱與非對稱加密算法、數(shù)字簽名膜眠、第三方證書頒發(fā)機構等概念岩臣。

(本文已同步發(fā)布于:http://www.52im.net/thread-3897-1-1.html

2、系列文章

本文是IM通訊安全知識系列文章中的第9篇柴底,此系列總目錄如下:

即時通訊安全篇(一):正確地理解和使用Android端加密算法

即時通訊安全篇(二):探討組合加密算法在IM中的應用

即時通訊安全篇(三):常用加解密算法與通訊安全講解

即時通訊安全篇(四):實例分析Android中密鑰硬編碼的風險

即時通訊安全篇(五):對稱加密技術在Android平臺上的應用實踐

即時通訊安全篇(六):非對稱加密技術的原理與應用實踐

即時通訊安全篇(七):如果這樣來理解HTTPS原理婿脸,一篇就夠了

即時通訊安全篇(八):你知道,HTTPS用的是對稱加密還是非對稱加密柄驻?

即時通訊安全篇(九):為什么要用HTTPS狐树?深入淺出,探密短連接的安全性》(本文)

3鸿脓、寫在前面

說到HTTPS抑钟,那就得回到HTTP協(xié)議。

對于HTTP協(xié)議野哭,大家肯定都熟得不能再熟了在塔。那么HTTPS和HTTP的區(qū)別大家了解嗎?

對于這個經(jīng)典的面試題拨黔,大部分人會這么回答:

1)HTTPS比HTTP多了一個S(Secure):也就是說HTTPS是安全版的HTTP蛔溃;

2)端口號不同:HTTP使用80端口,HTTPS使用443端口篱蝇;

3)加密算法:HTTPS用的是非對稱加密算法贺待。

上面的回答能給幾分?等看完本文我們可以再回頭來看下這個回答零截。

那么麸塞,HTTPS是如何實現(xiàn)安全的短連接數(shù)據(jù)傳輸呢?想徹底搞明白這個問題涧衙,還是要從HTTP的發(fā)展歷程說起 ......

4哪工、HTTP協(xié)議回顧

4.1 基礎常識

HTTP是Hypertext Transfer Protocal 的縮寫,中文全稱是超文本傳輸協(xié)議(詳見《深入淺出弧哎,全面理解HTTP協(xié)議》)雁比。

通俗了解釋就是:

1)超文本是指包含但不限于文本外的圖片、音頻傻铣、視頻等多媒體資源章贞;

2)協(xié)議是通信雙方約定好的數(shù)據(jù)傳輸格式以及通信規(guī)則。

HTTP是TCP/IP協(xié)議簇的最高層——應用層協(xié)議:

▲ 上圖引用自《深入淺出非洲,全面理解HTTP協(xié)議

瀏覽器和服務器在使用HTTP協(xié)議相互傳遞超文本數(shù)據(jù)時,將數(shù)據(jù)放入報文體內(nèi),同時填充首部(請求頭或響應頭)構成完整HTTP報文并交到下層傳輸層懂从,之后每一層加上相應的首部(控制部分)便一層層的下發(fā)艰垂,最終由物理層將二進制數(shù)據(jù)以電信號的形式發(fā)送出去。

HTTP的請求如下圖所示:

▲ 上圖引用自《深入淺出梦染,全面理解HTTP協(xié)議

HTTP報文結構如下

4.2 發(fā)展歷程

HTTP的發(fā)展歷程如下:

由HTTP的發(fā)展歷程來看赡麦,最開始版本的HTTP(HTTP1.0)在每次建立TCP連接后只能發(fā)起一次HTTP請求,請求完畢就釋放TCP連接帕识。

我們都知道TCP連接的建立需要經(jīng)過三次握手的過程泛粹,而每次發(fā)送HTTP請求都需要重新建立TCP連接,毫無疑問是很低效的肮疗。所以HTTP1.1改善了這一點晶姊,使用長連接的機制,也就是“一次TCP連接伪货,N次HTTP請求”们衙。

HTTP協(xié)議的長連接和短連接,實質上是 TCP 協(xié)議的長連接和短連接碱呼。

在使用長連接的情況下蒙挑,當一個網(wǎng)頁打開完成后,客戶端和服務器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會關閉愚臀,客戶端再次訪問這個服務器時忆蚀,會繼續(xù)使用這一條已經(jīng)建立的連接。Keep-Alive不會永久保持連接姑裂,它有一個保持時間馋袜,可以在不同的服務器軟件(如Apache)中設定這個時間。實現(xiàn)長連接需要客戶端和服務端都支持長連接炭分。

PS:對于IM開發(fā)者來說桃焕,為了與Socket長連接通道區(qū)分,通常認為HTTP就是“短連接”(雖然這個“短連接”不一定真的“短”)捧毛。

HTTP1.0若要開啟長連接观堂,需要加上Connection: keep-alive請求頭。有關HTTP協(xié)議的詳細發(fā)展歷程可閱讀《一文讀懂HTTP協(xié)議的歷史演變和設計思路》一文呀忧。

4.3 安全問題

隨著HTTP越來越廣泛的使用师痕,HTTP的安全性問題也逐漸暴露。

回憶一下多年前遍地都是的運營商劫持而账,當你訪問一個本來很正常的網(wǎng)頁胰坟,但頁面上卻莫名其妙出現(xiàn)了一些廣告標簽、跳轉腳本泞辐、欺騙性的紅包按鈕笔横,甚至有時候本來要下載一個文件竞滓,最后下載下來卻變成了另外一個完全不同的東西,這些都是被運營商劫持了HTTP明文數(shù)據(jù)的現(xiàn)象吹缔。

下圖就是似曾相識的運營商劫持效果圖:

PS:關于運營商劫持問題商佑,可以詳細閱讀《全面了解移動端DNS域名劫持等雜癥:原理、根源厢塘、HttpDNS解決方案等》茶没。

HTTP主要有以下3點安全性問題:

歸納一下就是:

1)數(shù)據(jù)保密性問題:因為HTTP無狀態(tài),而且又是明文傳輸晚碾,所有數(shù)據(jù)內(nèi)容都在網(wǎng)絡中裸奔抓半,包用戶括身份信息、支付賬號與密碼格嘁。這些敏感信息極易泄露造成安全隱患笛求;

2)數(shù)據(jù)完整性問題:HTTP數(shù)據(jù)包在到達目的主機前會經(jīng)過很多轉發(fā)設備,每一個設備節(jié)點都可能會篡改或調(diào)包信息讥蔽,無法驗證數(shù)據(jù)的完整性涣易;

3)身份校驗問題:有可能遭受中間人攻擊,我們無法驗證通信的另一方就是我們的目標對象冶伞。

因此新症,為了保證數(shù)據(jù)傳輸?shù)陌踩裕仨氁獙TTP數(shù)據(jù)進行加密响禽。

5徒爹、常見的加密方式

5.1 基本情況

常見的加密方式分為三種:

1)對稱加密;

2)非對稱加密芋类;

3)數(shù)字摘要隆嗅。

前兩種適合數(shù)據(jù)傳輸加密,而數(shù)字摘要不可逆的特性常被用于數(shù)字簽名侯繁。

接下來胖喳,我們逐一簡要學習一下這三種常見的加密方法。

5.2 對稱加密

對稱加密也稱為密鑰加密或單向加密贮竟,就是使用同一套密鑰來進行加密和解密丽焊。密鑰可以理解為加密算法。

對稱加密圖示如下:

廣泛使用的對稱加密有:

對稱加密算法的優(yōu)缺點和適用場景:

1)優(yōu)點:算法公開咕别、簡單技健,加密解密容易,加密速度快惰拱,效率高雌贱;

2)缺點:相對來說不算特別安全,只有一把鑰匙,密文如果被攔截欣孤,且密鑰也被劫持馋没,那么,信息很容易被破譯导街;

3)適用場景:加解密速度快披泪、效率高纤子,因此適用于大量數(shù)據(jù)的加密場景搬瑰。由于如何傳輸密鑰是較為頭痛的問題,因此適用于無需進行密鑰交換的場景控硼,如內(nèi)部系統(tǒng)泽论,事先就可以直接確定密鑰。

PS:可以在線體驗對稱加密算法卡乾,鏈接是:http://www.jsons.cn/textencrypt/

小知識:base64編碼也屬于對稱加密哦翼悴!

5.3 非對稱加密

非對稱加密使用一對密鑰(公鑰和私鑰)進行加密和解密。

非對稱加密可以在不直接傳遞密鑰的情況下幔妨,完成解密鹦赎,具體步驟如下:

1)乙方生成兩把密鑰(公鑰和私鑰)。公鑰是公開的误堡,任何人都可以獲得古话,私鑰則是保密的;

2)甲方獲取乙方的公鑰锁施,然后用它對信息加密陪踩;

3)乙方得到加密后的信息,用私鑰解密悉抵。

以最典型的非對稱加密算法RSA為例肩狂,舉個例子:

想要徹底搞懂RSA,需要了解數(shù)論的知識姥饰,全部推導過程RSA加密算法傻谁。簡單介紹思路:使用兩個超大質數(shù)以及其乘積作為生成公鑰和私鑰的材料,想要從公鑰推算出私鑰是非常困難的(需要對超大數(shù)因式分解為兩個很大質數(shù)的乘積)列粪。目前被破解的最長RSA密鑰是768個二進制位审磁。也就是說,長度超過768位的密鑰篱竭,還無法破解(至少沒人公開宣布)力图。因此可以認為,1024位的RSA密鑰基本安全掺逼,2048位的密鑰極其安全吃媒。

非對稱加密算法的優(yōu)缺點和適用場景:

1)優(yōu)點:強度高、安全性強于對稱加密算法、無需傳遞私鑰導致沒有密鑰泄露風險赘那;

2)缺點:計算量大刑桑、速度慢;

3)適用場景:適用于需要密鑰交換的場景募舟,如互聯(lián)網(wǎng)應用祠斧,無法事先約定密鑰。

實踐應用過程中拱礁,其實可以與對稱加密算法結合:

1)利用非對稱加密算法安全性較好的特點來傳遞對稱加密算法的密鑰琢锋。

2)利用對稱加密算法加解密速度快的特點,進行數(shù)據(jù)內(nèi)容比較大的加密場景的加密(如HTTPS)呢灶。

PS:對于IM開發(fā)者來說吴超,《探討組合加密算法在IM中的應用》一文值得一讀。

5.4 如何選擇鸯乃?

1)如果選擇對稱加密:

HTTP請求方使用對稱算法加密數(shù)據(jù)鲸阻,那么為了接收方能夠解密,發(fā)送方還需要把密鑰一同傳遞到接收方缨睡。在傳遞密鑰的過程中還是可能遭到嗅探攻擊鸟悴,攻擊者竊取密鑰后依然可以解密從而得到發(fā)送的數(shù)據(jù),所以這種方案不可行奖年。

2)如果選擇非對稱加密:

接收方保留私鑰细诸,把公鑰傳遞給發(fā)送方。發(fā)送方用公鑰來加密數(shù)據(jù)拾并,接收方使用私鑰解密數(shù)據(jù)揍堰。攻擊者雖然不能直接獲取這些數(shù)據(jù)(因為沒有私鑰),但是可以通過攔截傳遞的公鑰嗅义,然后把自己的公鑰傳給發(fā)送方屏歹,再用自己的私鑰對發(fā)送方發(fā)送數(shù)據(jù)進行解密。

整個過程通信雙方都不知道中間人的存在之碗,但是中間人能夠獲得完整的數(shù)據(jù)信息蝙眶。

3)兩種加密方法的混合:

先使用非對稱加密算法加密并傳遞對稱加密的密鑰,然后雙方通過對稱加密方式加密要發(fā)送的數(shù)據(jù)褪那。看起來沒什么問題幽纷,但事實是這樣嗎?

中間人依然可以攔截公鑰的傳遞博敬,并以自己的公鑰作為替換友浸,治標不治本。

想要治本偏窝,就要找到一個第三方公證人來證明公鑰沒有被替換收恢,因此就引出了數(shù)字證書的概念武学,這也是下一節(jié)將分享的內(nèi)容。

6伦意、數(shù)字證書

6.1 CA機構

CA就是 Certificate Authority火窒,即頒發(fā)數(shù)字證書的機構。

作為受信任的第三方驮肉,CA承擔公鑰體系中公鑰的合法性檢驗的責任熏矿。

證書就是源服務器向可信任的第三方機構申請的數(shù)據(jù)文件。這個證書除了表明這個域名是屬于誰的离钝,頒發(fā)日期等票编,還包括了第三方證書的私鑰。

服務器將公鑰放在數(shù)字證書中奈辰,只要證書是可信的栏妖,公鑰就是可信的。

下面兩圖是飛書域名的證書中部分內(nèi)容的信:

6.2 數(shù)字簽名

摘要算法:一般用哈希函數(shù)來實現(xiàn)奖恰,可以理解成一種定長的壓縮算法,它能把任意長度的數(shù)據(jù)壓縮到固定長度宛裕。這好比是給數(shù)據(jù)加了一把鎖瑟啃,對數(shù)據(jù)有任何微小的改動都會使摘要變得截然不同。

通常情況下:數(shù)字證書的申請人(服務器)將生成由私鑰和公鑰以及證書請求文件(Certificate Signing Request揩尸,CSR)組成的密鑰對蛹屿。CSR是一個編碼的文本文件,其中包含公鑰和其他將包含在證書中的信息(例如:域名岩榆、組織错负、電子郵件地址等)。密鑰對和CSR生成通常在將要安裝證書的服務器上完成勇边,并且 CSR 中包含的信息類型取決于證書的驗證級別犹撒。與公鑰不同,申請人的私鑰是安全的粒褒,永遠不要向 CA(或其他任何人)展示识颊。

生成 CSR 后:申請人將其發(fā)送給 CA,CA 會驗證其包含的信息是否正確奕坟,如果正確祥款,則使用頒發(fā)的私鑰對證書進行數(shù)字簽名,然后將簽名放在證書內(nèi)隨證書一起發(fā)送給申請人月杉。

在SSL握手階段:瀏覽器在收到服務器的證書后刃跛,使用CA的公鑰進行解密,取出證書中的數(shù)據(jù)苛萎、數(shù)字簽名以及服務器的公鑰桨昙。如果解密成功跌帐,則可驗證服務器身份真實。之后瀏覽器再對數(shù)據(jù)做Hash運算绊率,將結果與數(shù)字簽名作對比谨敛,如果一致則可以認為內(nèi)容沒有收到篡改。

對稱加密和非對稱加密是公鑰加密滤否、私鑰解密脸狸, 而數(shù)字簽名正好相反——是私鑰加密(簽名)、公鑰解密(驗證)藐俺,如下圖所示炊甲。

限于篇幅,關于數(shù)字證書的內(nèi)容本文就不再贅述欲芹,想詳細了解的可以閱讀:

1)一文讀懂Https的安全性原理卿啡、數(shù)字證書、單項認證菱父、雙項認證等颈娜;

2)你知道,HTTPS用的是對稱加密還是非對稱加密浙宜?官辽;

3)如果這樣來理解HTTPS,一篇就夠了粟瞬。

7同仆、為什么要使用HTTPS

圖解HTTP》一書中提到HTTPS就是身披SSL外殼的HTTP。

7.1 SSL

SSL 在1999年被更名為TLS裙品。

所以說:HTTPS 并不是一項新的應用層協(xié)議俗批,只是 HTTP 通信接口部分由 SSL 和 TLS 替代而已。

具體就是:HTTP 會先直接和 TCP 進行通信市怎,而HTTPS 會演變?yōu)橄群?SSL 進行通信岁忘,然后再由 SSL 和 TCP 進行通信。

SSL是一個獨立的協(xié)議焰轻,不只有 HTTP 可以使用臭觉,其他應用層協(xié)議也可以使用,比如FTP辱志、SMTP都可以使用SSL來加密蝠筑。

7.2 HTTPS請求流程

HTTPS請求全流程如下圖:

如上圖所示:

1)用戶在瀏覽器發(fā)起HTTPS請求,默認使用服務端的443端口進行連接揩懒;

2)HTTPS需要使用一套CA 數(shù)字證書什乙,證書內(nèi)會附帶一個服務器的公鑰Pub,而與之對應的私鑰Private保留在服務端不公開已球;

3)服務端收到請求臣镣,返回配置好的包含公鑰Pub的證書給客戶端辅愿;

4)客戶端收到證書,校驗合法性忆某,主要包括是否在有效期內(nèi)点待、證書的域名與請求的域名是否匹配,上一級證書是否有效(遞歸判斷弃舒,直到判斷到系統(tǒng)內(nèi)置或瀏覽器配置好的根證書)癞埠,如果不通過,則顯示HTTPS警告信息聋呢,如果通過則繼續(xù)苗踪;

5)客戶端生成一個用于對稱加密的隨機Key,并用證書內(nèi)的公鑰Pub進行加密削锰,發(fā)送給服務端通铲;

6)服務端收到隨機Key的密文,使用與公鑰Pub配對的私鑰Private進行解密器贩,得到客戶端真正想發(fā)送的隨機Key颅夺;

7)服務端使用客戶端發(fā)送過來的隨機Key對要傳輸?shù)腍TTP數(shù)據(jù)進行對稱加密,將密文返回客戶端磨澡;

8)客戶端使用隨機Key對稱解密密文碗啄,得到HTTP數(shù)據(jù)明文;

9)后續(xù)HTTPS請求使用之前交換好的隨機Key進行對稱加解密稳摄。

7.3 HTTPS到底解決了什么問題

HTTPS確實解決了HTTP的三個安全性問題:

1)?保密性:結合非對稱加密和對稱加密實現(xiàn)保密性。用非對稱加密方式加密對稱加密的秘鑰饲宿,再用對稱加密方式加密數(shù)據(jù)厦酬;

2)?完整性:通過第三方CA的數(shù)字簽名解決完整性問題;

3)?身份校驗:通過第三方CA的數(shù)字證書驗證服務器的身份瘫想。

7.4 HTTPS優(yōu)缺點

最后我們總結一下HTTPS的優(yōu)缺點:

可以看到:HTTPS的確是當今安全傳輸HTTP的最優(yōu)解仗阅,但他并不是完美的,仍會有漏洞国夜。

8减噪、參考資料

[1]?深入淺出,全面理解HTTP協(xié)議

[2]?HTTP協(xié)議必知必會的一些知識

[3]?從數(shù)據(jù)傳輸層深度解密HTTP

[4]?一文讀懂HTTP協(xié)議的歷史演變和設計思路

[5]?你知道一個TCP連接上能發(fā)起多少個HTTP請求嗎车吹?

[6]?如果這樣來理解HTTPS筹裕,一篇就夠了

[7]?一分鐘理解 HTTPS 到底解決了什么問題

[8]?你知道,HTTPS用的是對稱加密還是非對稱加密窄驹?

[9]?HTTPS時代已來朝卒,打算更新你的HTTP服務了嗎?

[10]?一篇讀懂HTTPS:加密原理乐埠、安全邏輯抗斤、數(shù)字證書等

[11]?全面了解移動端DNS域名劫持等雜癥:原理囚企、根源、HttpDNS解決方案等

(本文已同步發(fā)布于:http://www.52im.net/thread-3897-1-1.html

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瑞眼,一起剝皮案震驚了整個濱河市龙宏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伤疙,老刑警劉巖银酗,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異掩浙,居然都是意外死亡花吟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門厨姚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衅澈,“玉大人,你說我怎么就攤上這事谬墙〗癫迹” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵拭抬,是天一觀的道長部默。 經(jīng)常有香客問我,道長造虎,這世上最難降的妖魔是什么傅蹂? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮算凿,結果婚禮上份蝴,老公的妹妹穿的比我還像新娘。我一直安慰自己氓轰,他們只是感情好婚夫,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著署鸡,像睡著了一般案糙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上靴庆,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天时捌,我揣著相機與錄音,去河邊找鬼撒穷。 笑死匣椰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的端礼。 我是一名探鬼主播禽笑,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼入录,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佳镜?” 一聲冷哼從身側響起僚稿,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蟀伸,沒想到半個月后蚀同,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡啊掏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年蠢络,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迟蜜。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡刹孔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娜睛,到底是詐尸還是另有隱情髓霞,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布畦戒,位于F島的核電站方库,受9級特大地震影響,放射性物質發(fā)生泄漏障斋。R本人自食惡果不足惜纵潦,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望垃环。 院中可真熱鬧酪穿,春花似錦、人聲如沸晴裹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涧团。三九已至,卻和暖如春经磅,著一層夾襖步出監(jiān)牢的瞬間泌绣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工预厌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阿迈,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓轧叽,卻偏偏與公主長得像苗沧,于是被迫代替她去往敵國和親刊棕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • 前言 即時通信是指能夠實時發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務通信系統(tǒng)待逞,允許兩人或多人使用網(wǎng)絡實時的傳遞文字消息甥角、文件、語...
    趙小陽_style閱讀 953評論 0 1
  • 前言 本文會用實例的方式当犯,將iOS各種IM的方案都簡單的實現(xiàn)一遍。并且提供一些選型割疾、實現(xiàn)細節(jié)以及優(yōu)化的建議嚎卫。 注:...
    涂耀輝閱讀 94,182評論 232 1,748
  • 前言 本文主要是對iOS各種IM實現(xiàn)方案調(diào)研 并且提供一些選型、實現(xiàn)細節(jié)以及優(yōu)化的建議杈曲。 注:文中的所有的代碼示例...
    LWide閱讀 5,004評論 2 36
  • 前言 本文會用實例的方式驰凛,將iOS各種IM的方案都簡單的實現(xiàn)一遍。并且提供一些選型担扑、實現(xiàn)細節(jié)以及優(yōu)化的建議恰响。 注:...
    Sky109閱讀 16,912評論 4 117
  • 一胚宦、前言 MobileIMSDK 是什么? MobileIMSDK是一套專門為移動端開發(fā)的開源IM即時通訊框架燕垃,超...
    jackjiang20212閱讀 549評論 0 1