iOS基於Https的網路請求

2021-07-25 02:52:07 字數 1570 閱讀 9127

https簡單說明:

https(全稱:hyper text transfer protocol over secure socket layer),是以安全為目標的http通道,簡單講是http的安全版。

即http下加入ssl層,https的安全基礎是ssl(安全套接字層),因此加密的詳細內容就需要ssl。 它是乙個uri scheme(抽象識別符號體系),句法類同http:體系。用於安全的http資料傳輸。

https:url表明它使用了http,但https存在不同於http的預設埠及乙個加密/身份驗證層(在http與tcp之間)。

https和http的區別主要為以下四點:

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

http是超文字傳輸協議,資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

簡單說明:

https的主要思想是在不安全的網路上建立一安全通道,並可在使用適當的加密包和伺服器證書可被驗證且可被信任時,對竊聽和中間人攻擊提供合理的保護。

https的信任繼承基於預先安裝在瀏覽器中的證書頒發機構(如verisign、microsoft等)(意即「我信任證書頒發機構告訴我應該信任的」)。

因此,乙個到某**的https連線可被信任,如果伺服器搭建自己的https 也就是說採用自認證的方式來建立https通道,這樣一般在客戶端是不被信任的。

所以我們一般在瀏覽器訪問一些https站點的時候會有乙個提示,問你是否繼續。

使用nsurlsession示例**:

-(void

)session

];

//4.執行task

[datatask resume];

}#pragma mark - nsurlsessiondatadelegate

//只要請求的位址是https的, 就會呼叫這個**方法

//challenge:質詢

//nsurlauthenticationmethodservertrust:伺服器信任

-(void)urlsession:(nsurlsession *)session task:(nsurlsessiontask *)task didreceivechallenge:(nsurlauthenticationchallenge *)challenge completionhandler:(void (^)(nsurlsessionauthchallengedisposition, nsurlcredential *_nullable))completionhandler

如果是使用afn框架,那麼我們不需要做任何額外的操作,afn內部已經做了處理,示例**如下:

-(void

)afn

];

//4.執行任務

[datatask resume];

}

iOS中發起https的網路請求

https https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,它基於http開發,用於在客戶計算機和伺服器之間交換資訊。它使用安全套接字層 ssl 進行資訊交換,簡單來說它是http的安全版。http與https的比較 比較h...

iOS中https的網路請求的配置

https https secure hypertext transfer protocol 安全超文字傳輸協議 它是乙個安全通訊通道,https經由 超文字傳輸協議 http 進行通訊,但利用ssl tls來加密封包。https開發的主要目的,是提供對網路伺服器的身分認證,保護交換資料的隱私與完整...

iOS開發之HTTP與HTTPS網路請求

http是網際網路中應用最為廣泛的一種網路協議,在進入正文之前,先解釋什麼是網路協議?網路協議為計算機網路中進行資料交換而建立的規則 標準或約定的集合。網路協議是由以下三個要素組成 語義 語法 時序。國際標準化組織 iso 在1978年提出了 開放系統互聯參考模型 即著名的osi rm模型 open...