天天看點

iOS網絡程式設計之一——iOS網絡架構簡介

        通過網絡,一款應用才能夠内容豐富,才能夠完成使用者操作與背景資料的互動。網絡程式設計是移動應用或遊戲開發開發中不可缺少的技術。ios原生的網絡架構也十分完善,其中涉及到的許多類和協定用于處理網絡開發中的各種需求

    ios的url加載系統包含許多類與協定,這些類和協定互相協作完成url加載的資訊配置,協定支援,身份驗證,cookie和緩存等功能。apple開發文檔中有如下圖表示他們之間的關系:

iOS網絡程式設計之一——iOS網絡架構簡介

    關于url加載系統,在ios7之後,nsurlsession是首選的api架構,在ios9中nsurlconnection相關的方法被棄用,如果需要相容十分舊的版本,依然需要使用nsurlconnection。

        nsurlrequest類負責一個具體的網絡請求,其内部封裝一個請求路徑nsurl對象。如果需要對請求參數進行配置,可以使用nsmutableurlrequest。

        nsurlresponse類封裝了相應資料,相應資料包括兩部分,一部分是傳回資料的狀态碼,資料長度、編碼等資訊,另一部分是内容資料本身。

        一些通路請求需要證書或者身份憑證進行驗證,上面4個類對請求憑證進行相關設定。

        在應用程式的開發中,為了減小對網絡的依賴,提高程式性能,常常會對一些非實時性的資料進行緩存處理,nsurlcache類用于管理nsurlrequest請求緩存。

        nshttpcookiestorage與nshttpcookie用于持久化的存儲http請求的cookie資料。