久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

iOS應(yīng)用集成httpdns服務(wù) | River

 jerry_tom123 2022-05-07 發(fā)布于北京

httpdns服務(wù)解決的問題

我們的App時常會出現(xiàn)請求失敗或是請求的接口返回錯誤數(shù)據(jù)的情況,,一般引起這些問題的原因大都和你的域名解析有關(guān)域名解析錯誤、域名被劫持,。這些問題嚴重影響用戶體驗,,為了解決這些問題我們需要接入httpdns服務(wù)。
至于為什么會出現(xiàn)域名解析的諸多問題以及httpdns怎么解決的可以參看下面兩篇文章:
https://www./t/262266
http://www.cnblogs.com/softidea/p/5325162.html

接入httpdns的網(wǎng)絡(luò)環(huán)境

1.iOS客戶端使用https協(xié)議(蘋果要求雖然現(xiàn)在沒有強制但相信這是趨勢)
2.服務(wù)端采用CDN加速


圖片名稱

App端接入httpdns

我們接入的是騰訊出品的httpdns服務(wù)簡稱D+
App的簡要處理流程圖:


圖片名稱

說明:在域名列表及對應(yīng)IP部分可以根據(jù)業(yè)務(wù)采用動態(tài)更新的策略來提高該部分的可用性

https請求IP直連業(yè)務(wù)場景的解決

  • 問題
    當客戶端在使用https和CDN服務(wù)器(CDN的站點往往服務(wù)了很多的域名)交互過程中CDN服務(wù)器要獲取到請求的域名信息用以下發(fā)對應(yīng)的公鑰證書和隨機數(shù)來完成校驗過程,,但由于客戶端采用了HTTPDNS解析域名請求URL中的host會被替換成HTTPDNS解析出來的IP,,導(dǎo)致服務(wù)器獲取到的域名為解析后的IP,無法找到匹配的證書,,只能返回默認的證書或者不返回,,所以會出現(xiàn)SSL/TLS握手不成功的錯誤。
  • 解決辦法
    通過設(shè)置sni請求參數(shù)把域名信息攜帶過去

  • iOS端對于sni參數(shù)的設(shè)置方法
    1.iOS上層網(wǎng)絡(luò)庫NSURLConnection/NSURLSession沒有提供接口進行SNI字段的配置,,只能通過NSURLProtocol攔截來請求設(shè)置sni,。

NSURLProtocol這個類我們不能直接使用,我們需要自己創(chuàng)建一個它的子類,,在子類中我們需要重寫下面幾個函數(shù):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* 是否攔截處理指定的請求
*
* @param request 指定的請求
*
* @return 返回YES表示要攔截處理,,返回NO表示不攔截處理
*/
+ (BOOL)canInitWithRequest:(NSURLRequest *)request
/*!
*@method: NSURLProtocol抽象類必須要實現(xiàn)。通常情況下這里有一個最低的標準:即輸入輸出請求滿足最基本的協(xié)議規(guī)范一致,。因此這里簡單的做法可以直接返回,。一般情況下我們是不會去更改這個請求的。如果你想更改,
*比如給這個request添加一個title,,組合成一個新的http請求,。
*@parma: 本地HttpRequest請求:request
*@return:直接轉(zhuǎn)發(fā)
*/
+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request
/**
* 開始加載,在該方法中,,加載一個請求
*/
- (void)startLoading
/**
* 取消請求
*/
- (void)stopLoading

詳見:https://github.com/RiverLeeSunny/CFHTTPDNSHTTPMessageProtocol

2.第三方網(wǎng)絡(luò)庫庫asi-http-request是在CFNetwork基礎(chǔ)上封裝的是支持SNI設(shè)置的但這個庫好久不更新維護了,,如果你們App有一直在使用可以研究下怎么設(shè)置。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多