Android網(wǎng)絡(luò)中篇:Http與Https詳解

一、基礎(chǔ)知識(shí)

1寿酌、TCP/IP協(xié)議族

  • IP協(xié)議:網(wǎng)絡(luò)層協(xié)議胰苏,保證了計(jì)算機(jī)之間可以發(fā)送和接收數(shù)據(jù)。
  • TCP協(xié)議:傳輸層協(xié)議醇疼,一種端到端的協(xié)議硕并,建立一個(gè)虛擬鏈路用于發(fā)送和接收數(shù)據(jù),基于重發(fā)機(jī)制秧荆,提供可靠的通信連接倔毙。為了方便通信,將報(bào)文分割成多個(gè)報(bào)文段發(fā)送乙濒。
  • UDP協(xié)議:傳輸層協(xié)議陕赃,一種無連接的協(xié)議,每個(gè)數(shù)據(jù)報(bào)都是一個(gè)獨(dú)立的信息颁股,包括完整的源地址或目的地址么库,它在網(wǎng)絡(luò)上以任何可能的路徑傳往目的地,因此能否到達(dá)目的地豌蟋,到達(dá)目的地的時(shí)間以及內(nèi)容的正確性都是不能被保證的廊散。

通信雙方一方作為服務(wù)器等待客戶提出請(qǐng)求并予以響應(yīng)∥嗥#客戶則在需要服務(wù)時(shí)向服務(wù)器提出申請(qǐng)允睹。服務(wù)器一般作為守護(hù)進(jìn)程始終運(yùn)行,監(jiān)聽網(wǎng)絡(luò)端口幌氮,一旦有客戶請(qǐng)求缭受,就會(huì)啟動(dòng)一個(gè)服務(wù)進(jìn)程來響應(yīng)該客戶,同時(shí)自己繼續(xù)監(jiān)聽服務(wù)端口该互,使后來的客戶也能及時(shí)得到服務(wù)米者。一個(gè)socket(通常都是server socket)等待建立連接時(shí),另一個(gè)socket可以要求進(jìn)行連接宇智,一旦這兩個(gè)socket連接起來蔓搞,它們就可以進(jìn)行雙向數(shù)據(jù)傳輸,雙方都可以進(jìn)行發(fā)送或接收操作随橘。

2喂分、TCP3次握手,4次揮手過程

2.1机蔗、建立連接協(xié)議(三次握手)

(1)客戶端發(fā)送一個(gè)帶SYN標(biāo)志的TCP報(bào)文到服務(wù)器蒲祈。(聽得到嗎甘萧?)
(2)服務(wù)端回應(yīng)客戶端的報(bào)文同時(shí)帶ACK(acknowledgement,確認(rèn))標(biāo)志和SYN(synchronize)標(biāo)志梆掸。它表示對(duì)剛才客戶端SYN報(bào)文的回應(yīng)扬卷;同時(shí)又標(biāo)志SYN給客戶端,詢問客戶端是否準(zhǔn)備好進(jìn)行數(shù)據(jù)通訊酸钦。(聽得到怪得,你能聽到我嗎?)
(3)客戶必須再次回應(yīng)服務(wù)端一個(gè)ACK報(bào)文钝鸽。(聽到了汇恤,我們可以說話了)

為什么需要“三次握手”?
在謝希仁著《計(jì)算機(jī)網(wǎng)絡(luò)》第四版中講“三次握手”的目的是“為了防止已失效的連接請(qǐng)求報(bào)文段突然又傳送到了服務(wù)端拔恰,因而產(chǎn)生錯(cuò)誤”因谎。“已失效的連接請(qǐng)求報(bào)文段”的產(chǎn)生在這樣一種情況下:client發(fā)出的第一個(gè)連接請(qǐng)求報(bào)文段并沒有丟失颜懊,而是在某個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)長(zhǎng)時(shí)間的滯留了财岔,以致延誤到連接釋放以后的某個(gè)時(shí)間才到達(dá)server。本來這是一個(gè)早已失效的報(bào)文段河爹。但server收到此失效的連接請(qǐng)求報(bào)文段后匠璧,就誤認(rèn)為是client再次發(fā)出的一個(gè)新的連接請(qǐng)求。于是就向client發(fā)出確認(rèn)報(bào)文段咸这,同意建立連接夷恍。假設(shè)不采用“三次握手”,那么只要server發(fā)出確認(rèn)媳维,新的連接就建立了酿雪。由于現(xiàn)在client并沒有發(fā)出建立連接的請(qǐng)求,因此不會(huì)理睬server的確認(rèn)侄刽,也不會(huì)向server發(fā)送數(shù)據(jù)指黎。但server卻以為新的運(yùn)輸連接已經(jīng)建立,并一直等待client發(fā)來數(shù)據(jù)州丹。這樣醋安,server的很多資源就白白浪費(fèi)掉了。采用“三次握手”的辦法可以防止上述現(xiàn)象發(fā)生墓毒。例如剛才那種情況吓揪,client不會(huì)向server的確認(rèn)發(fā)出確認(rèn)。server由于收不到確認(rèn)所计,就知道client并沒有要求建立連接磺芭。”醉箕。 主要目的防止server端一直等待钾腺,浪費(fèi)資源。

2.2讥裤、連接終止協(xié)議(四次揮手)

由于TCP連接是全雙工的放棒,因此每個(gè)方向都必須單獨(dú)進(jìn)行關(guān)閉。這原則是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)FIN來終止這個(gè)方向的連接己英。收到一個(gè) FIN只意味著這一方向上沒有數(shù)據(jù)流動(dòng)间螟,一個(gè)TCP連接在收到一個(gè)FIN后仍能發(fā)送數(shù)據(jù)。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉损肛,而另一方執(zhí)行被動(dòng)關(guān)閉厢破。
(1) TCP客戶端發(fā)送一個(gè)FIN,用來關(guān)閉客戶到服務(wù)器的數(shù)據(jù)傳送(報(bào)文段4)治拿。
(2) 服務(wù)器收到這個(gè)FIN摩泪,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1(報(bào)文段5)劫谅。和SYN一樣见坑,一個(gè)FIN將占用一個(gè)序號(hào)。
(3) 服務(wù)器關(guān)閉客戶端的連接捏检,發(fā)送一個(gè)FIN給客戶端(報(bào)文段6)荞驴。
(4) 客戶段發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1(報(bào)文段7)贯城。

為什么需要“四次揮手”熊楼?
那可能有人會(huì)有疑問,在tcp連接握手時(shí)為何ACK是和SYN一起發(fā)送能犯,這里ACK卻沒有和FIN一起發(fā)送呢鲫骗。原因是因?yàn)閠cp是全雙工模式,接收到FIN時(shí)意味將沒有數(shù)據(jù)再發(fā)來悲雳,但是還是可以繼續(xù)發(fā)送數(shù)據(jù)挎峦。

3、請(qǐng)求報(bào)文

3.1合瓢、請(qǐng)求行

由3部分組成坦胶,分別為:請(qǐng)求方法、URL以及協(xié)議版本晴楔,之間由空格分隔

請(qǐng)求方法:GET顿苇、HEAD、PUT税弃、POST等方法纪岁,但并不是所有的服務(wù)器都實(shí)現(xiàn)了所有的方法,部分方法即便支持则果,處于安全性的考慮也是不可用的
協(xié)議版本:常用HTTP/1.1

3.2幔翰、請(qǐng)求頭部

請(qǐng)求頭部為請(qǐng)求報(bào)文添加了一些附加信息漩氨,由“名/值”對(duì)組成,每行一對(duì)遗增,名和值之間使用冒號(hào)分隔

  • Host 接受請(qǐng)求的服務(wù)器地址叫惊,可以是IP:端口號(hào),也可以是域名
  • User-Agent 發(fā)送請(qǐng)求的應(yīng)用程序名稱
  • Connection 指定與連接相關(guān)的屬性做修,如Connection:Keep-Alive
  • Accept-Charset 通知服務(wù)端可以發(fā)送的編碼格式
  • Accept-Encoding 通知服務(wù)端可以發(fā)送的數(shù)據(jù)壓縮格式
  • Accept-Language 通知服務(wù)端可以發(fā)送的語言
  • Range 正文的字節(jié)請(qǐng)求范圍霍狰,為斷點(diǎn)續(xù)傳和并行下載提供可能,返回狀態(tài)碼是206

請(qǐng)求頭部的最后會(huì)有一個(gè)空行饰及,表示請(qǐng)求頭部結(jié)束蔗坯,接下來為請(qǐng)求正文,這一行非常重要燎含,必不可少

3.3宾濒、請(qǐng)求正文

可選部分,比如GET請(qǐng)求就沒有請(qǐng)求正文

4瘫镇、響應(yīng)報(bào)文

由3部分組成鼎兽,分別為:協(xié)議版本,狀態(tài)碼铣除,狀態(tài)碼描述谚咬,之間由空格分隔

狀態(tài)碼:為3位數(shù)字,2XX表示成功尚粘,3XX表示資源重定向择卦,4XX表示客戶端請(qǐng)求出錯(cuò),5XX表示服務(wù)端出錯(cuò)
206狀態(tài)碼表示的是:客戶端通過發(fā)送范圍請(qǐng)求頭Range抓取到了資源的部分?jǐn)?shù)據(jù)郎嫁,得服務(wù)端提供支持

4.1秉继、響應(yīng)頭部
  • Server 服務(wù)器應(yīng)用程序軟件的名稱和版本
  • Content-Type 響應(yīng)正文的類型(是圖片還是二進(jìn)制字符串)
  • Content-Length 響應(yīng)正文長(zhǎng)度
  • Content-Charset 響應(yīng)正文使用的編碼
  • Content-Encoding 響應(yīng)正文使用的數(shù)據(jù)壓縮格式
  • Content-Language 響應(yīng)正文使用的語言
  • Content-Range 正文的字節(jié)位置范圍
  • Accept-Ranges bytes:表明服務(wù)器支持Range請(qǐng)求,單位是字節(jié)泽铛;none:不支持

正文的內(nèi)容可以用gzip等進(jìn)行壓縮尚辑,以提升傳輸速率

5、http協(xié)議中的多部分對(duì)象

報(bào)文的主體內(nèi)可以包含多部分對(duì)象盔腔,通常用來發(fā)送圖片杠茬、文件或表單等。

5.1弛随、multipart/form-data
Connection: keep-alive
Content-Length: 123
X-Requested-With: ShockwaveFlash/16.0.0.296
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36
Content-Type: multipart/form-data; boundary=Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Range: bytes=0-1024
Cookie: bdshare_firstime=1409052493497

--Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1
Content-Disposition: form-data; name="position"

1425264476444
--Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1
Content-Disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain

...(file1.txt的數(shù)據(jù))...
ue_con_1425264252856
--Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1
Content-Disposition: form-data; name="cm"

100672
--Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1--

a)在請(qǐng)求頭中Content-Type: multipart/form-data; boundary=Ij5ei4KM7KM7ae0KM7cH2ae0Ij5Ef1是必須的瓢喉,boundary字符串可以隨意指定
b)上面有3個(gè)部分,分別用--boundary進(jìn)行分隔舀透。Content-Disposition: form-data; name="參數(shù)的名稱" + "\r\n" + "\r\n" + 參數(shù)值
c)--boundary-- 作為結(jié)束

二栓票、Https

1、Http的缺點(diǎn)

  • 通信使用明文愕够,內(nèi)容可能會(huì)被竊聽 —— 加密通信線路
  • 不驗(yàn)證通信方走贪,可能遭遇偽裝 —— 證書
  • 無法驗(yàn)證報(bào)文的完整性佛猛,可能已被篡改 —— 數(shù)字簽名

Http+加密+認(rèn)證+完整性保護(hù)=Https

Https就是身披SSL(Secure Socket Layer,安全套接層)協(xié)議這層外殼的Http厉斟。當(dāng)使用了SSL之后挚躯,Http先和SSL通信,SSL再和TCP通信擦秽。

SSL(secure sockets layer):安全套接層,它是在上世紀(jì)90年代中期漩勤,由網(wǎng)景公司設(shè)計(jì)的感挥,為解決 HTTP 協(xié)議傳輸內(nèi)容會(huì)被偷窺(嗅探)和篡改等安全問題而設(shè)計(jì)的,到了1999年越败,SSL成為互聯(lián)網(wǎng)上的標(biāo)準(zhǔn)触幼,名稱改為TLS(transport layer security):安全傳輸層協(xié)議,兩者可視為同一種東西的不同階段究飞。

2置谦、Https的工作原理

HTTPS在傳輸數(shù)據(jù)之前需要客戶端(瀏覽器)與服務(wù)端(網(wǎng)站)之間進(jìn)行一次握手,在握手過程中將確立雙方加密傳輸數(shù)據(jù)的密碼信息亿傅。TLS/SSL協(xié)議不僅僅是一套加密傳輸?shù)膮f(xié)議媒峡,更是一件經(jīng)過藝術(shù)家精心設(shè)計(jì)的藝術(shù)品,TLS/SSL中使用了非對(duì)稱加密葵擎,對(duì)稱加密以及HASH算法谅阿。握手過程的具體描述如下:

  • 瀏覽器將自己支持的一套加密規(guī)則發(fā)送給網(wǎng)站。
  • 網(wǎng)站從中選出一組加密算法與HASH算法酬滤,并將自己的身份信息以證書的形式發(fā)回給瀏覽器签餐。證書里面包含了網(wǎng)站地址,加密公鑰盯串,以及證書的頒發(fā)機(jī)構(gòu)等信息氯檐。
  • 瀏覽器獲得網(wǎng)站證書之后瀏覽器要做以下工作:
    a) 驗(yàn)證證書的合法性(頒發(fā)證書的機(jī)構(gòu)是否合法,證書中包含的網(wǎng)站地址是否與正在訪問的地址一致等)体捏,如果證書受信任冠摄,則瀏覽器欄里面會(huì)顯示一個(gè)小鎖頭,否則會(huì)給出證書不受信的提示译打。
    b) 如果證書受信任耗拓,或者是用戶接受了不受信的證書,瀏覽器會(huì)生成一串隨機(jī)數(shù)的密碼奏司,并用證書中提供的公鑰加密乔询。
    c) 使用約定好的HASH算法計(jì)算握手消息,并使用生成的隨機(jī)數(shù)對(duì)消息進(jìn)行加密韵洋,最后將之前生成的所有信息發(fā)送給網(wǎng)站竿刁。
  • 網(wǎng)站接收瀏覽器發(fā)來的數(shù)據(jù)之后要做以下的操作:
    a) 使用自己的私鑰將信息解密取出密碼黄锤,使用密碼解密瀏覽器發(fā)來的握手消息,并驗(yàn)證HASH是否與瀏覽器發(fā)來的一致食拜。
    b) 使用密碼加密一段握手消息鸵熟,發(fā)送給瀏覽器验夯。
  • 瀏覽器解密并計(jì)算握手消息的HASH躯肌,如果與服務(wù)端發(fā)來的HASH一致诸狭,此時(shí)握手過程結(jié)束蟆淀,之后所有的通信數(shù)據(jù)將由之前瀏覽器生成的隨機(jī)密碼并利用對(duì)稱加密算法進(jìn)行加密幌衣。

這里瀏覽器與網(wǎng)站互相發(fā)送加密的握手消息并驗(yàn)證砰盐,目的是為了保證雙方都獲得了一致的密碼外臂,并且可以正常的加密解密數(shù)據(jù)湿硝,為后續(xù)真正數(shù)據(jù)的傳輸做一次測(cè)試蚕捉。另外奏篙,HTTPS一般使用的加密與HASH算法如下:

  • 非對(duì)稱加密算法:RSA,DSA/DSS
  • 對(duì)稱加密算法:AES迫淹,RC4秘通,3DES
  • HASH算法:MD5,SHA1敛熬,SHA256

HTTPS對(duì)應(yīng)的通信時(shí)序圖如下:

3肺稀、證書分類

SSL 證書大致分三類:

  • 認(rèn)可的證書頒發(fā)機(jī)構(gòu)(如: VeriSign), 或這些機(jī)構(gòu)的下屬機(jī)構(gòu)頒發(fā)的證書.
  • 沒有得到認(rèn)可的證書頒發(fā)機(jī)構(gòu)頒發(fā)的證書.
  • 自簽名證書, 自己通過JDK自帶工具keytool去生成一個(gè)證書荸型,分為臨時(shí)性的(在開發(fā)階段使用)或在發(fā)布的產(chǎn)品中永久性使用的兩種.

只有第一種, 也就是那些被安卓系統(tǒng)認(rèn)可的機(jī)構(gòu)頒發(fā)的證書, 在使用過程中不會(huì)出現(xiàn)安全提示盹靴。對(duì)于向權(quán)威機(jī)構(gòu)(簡(jiǎn)稱CA,Certificate Authority)申請(qǐng)過證書的網(wǎng)絡(luò)地址,用OkHttp或者HttpsURLConnection都可以直接訪問 瑞妇,不需要做額外的事情 稿静。但是申請(qǐng)需要$$ (每年要交 100 到 500 美元不等的費(fèi)用)。

CA機(jī)構(gòu)頒發(fā)的證書有3種類型:
域名型SSL證書(DV SSL):信任等級(jí)普通辕狰,只需驗(yàn)證網(wǎng)站的真實(shí)性便可頒發(fā)證書保護(hù)網(wǎng)站改备;
企業(yè)型SSL證書(OV SSL):信任等級(jí)強(qiáng),須要驗(yàn)證企業(yè)的身份蔓倍,審核嚴(yán)格悬钳,安全性更高;
增強(qiáng)型SSL證書(EV SSL):信任等級(jí)最高偶翅,一般用于銀行證券等金融機(jī)構(gòu)默勾,審核嚴(yán)格,安全性最高聚谁,同時(shí)可以激活綠色網(wǎng)址欄母剥。

4、HTTPS協(xié)議和HTTP協(xié)議的區(qū)別:

  • https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書很少环疼,需要交費(fèi)习霹。
  • http是超文本傳輸協(xié)議,信息是明文傳輸炫隶,https 則是具有安全性的ssl加密傳輸協(xié)議淋叶。
  • http和https使用的是完全不同的連接方式用的端口也不一樣,前者是80,后者是443。
  • http的連接很簡(jiǎn)單,是無狀態(tài)的 伪阶。
  • HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸煞檩、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議, 要比http協(xié)議安全望门。

參考文獻(xiàn)

HTTPS工作原理和TCP握手機(jī)制
Https單向認(rèn)證和雙向認(rèn)證

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末形娇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子筹误,更是在濱河造成了極大的恐慌,老刑警劉巖癣缅,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厨剪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡友存,警方通過查閱死者的電腦和手機(jī)祷膳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屡立,“玉大人直晨,你說我怎么就攤上這事∨蚶” “怎么了勇皇?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)焚刺。 經(jīng)常有香客問我敛摘,道長(zhǎng),這世上最難降的妖魔是什么乳愉? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任兄淫,我火速辦了婚禮,結(jié)果婚禮上蔓姚,老公的妹妹穿的比我還像新娘捕虽。我一直安慰自己,他們只是感情好坡脐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布泄私。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挖滤。 梳的紋絲不亂的頭發(fā)上崩溪,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音斩松,去河邊找鬼伶唯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惧盹,可吹牛的內(nèi)容都是我干的乳幸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼钧椰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼粹断!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嫡霞,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤瓶埋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后诊沪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體养筒,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年端姚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晕粪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡渐裸,死狀恐怖巫湘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昏鹃,我是刑警寧澤尚氛,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站盆顾,受9級(jí)特大地震影響怠褐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜您宪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一奈懒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宪巨,春花似錦磷杏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慈格。三九已至,卻和暖如春遥金,著一層夾襖步出監(jiān)牢的瞬間浴捆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工稿械, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留选泻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓美莫,卻偏偏與公主長(zhǎng)得像页眯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厢呵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 20,811評(píng)論 24 176
  • 目錄 準(zhǔn)備 分析2.1. 三次握手2.2. 創(chuàng)建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.4. ...
    RunAlgorithm閱讀 37,881評(píng)論 12 117
  • 前面兩篇文章中關(guān)于 HTTP 相關(guān)知識(shí)基本上介紹的差不多了窝撵,這篇文章是對(duì) HTTP 協(xié)議的補(bǔ)充,主要介紹以下三點(diǎn)內(nèi)...
    lijiankun24閱讀 1,301評(píng)論 2 3
  • 一襟铭、作用 不使用SSL/TLS的HTTP通信碌奉,就是不加密的通信。所有信息明文傳播寒砖,帶來了三大風(fēng)險(xiǎn)道批。 (1)竊聽風(fēng)險(xiǎn)...
    XLsn0w閱讀 10,481評(píng)論 2 44
  • 如果父類的析構(gòu)函數(shù)沒有聲明為虛函數(shù)的話在父類的指針上調(diào)用析構(gòu)函數(shù)會(huì)有什么后果? 屏蔽多態(tài)入撒,子類申請(qǐng)的資源將不會(huì)被釋...
    頂兒響叮當(dāng)閱讀 811評(píng)論 0 1