<p id="qitwt"></p>
      1. <object id="qitwt"><strong id="qitwt"></strong></object>
        <p id="qitwt"></p>
        <li id="qitwt"></li>
        <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
        <p id="qitwt"><label id="qitwt"></label></p>
      2. <acronym id="qitwt"></acronym>
        <p id="qitwt"></p>
        免費開源的iOS開發學習平臺

        iOS開發之網絡編程:3-網絡請求之GET、POST請求簡介

        在HTTP 1.1協議中,定義了8種HTTP請求的方法,即GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT、PATCH,不同的方法對資源有不同的操作方式,其中最常用的是GETPOST請求,我們優先掌握這兩種HTTP請求方法。

        GET請求和POST請求簡介

        GET請求是將信息直接拼接在URL后面,在請求URL后面以問號(?)的形式拼接發給服務器的參數,多個參數之間用&號隔開。GET請求在實際開發中使用比較普遍,主要原因在于其結構簡單,但是瀏覽器和服務器對URL長度有限制,通常不能超過1KB。

        POST請求是將一些比較重要的信息轉化為二進制流。POST請求發給服務器的參數全部放在請求體中。理論上,POST傳遞的數據量沒有限制,不過具體還得看服務器的處理能力。POST請求由于對傳遞的數據進行了封裝,因此其安全性要高于GET請求。

        需要注意的是不論是GET請求還是POST請求都是由后臺服務器定義的,程序員可以通過服務器開發人員提供的接口文檔獲取發送的請求方式應該使用GET還是POST。

        GET請求與POST請求由于封裝傳輸數據的方式存在差別,因此兩者在適用場景也有區別。假如僅僅是從服務器索取數據,即執行數據查詢操作,建議使用GET,而如果是增加、修改、刪除數據,建議使用POST。如果要傳遞大量數據,比如文件上傳,只能用POST請求。另外,GET請求的安全性比POST請求差,因此如果傳輸內容包含機密\敏感信息,建議用POST請求。

        iOS開發網絡編程可選方案

        在iOS開發過程中,如果設計網絡編程,可以使用蘋果官方框架中提供的方法,也可以使用第三方開源框架。

        在蘋果官方提供的解決方案中,最早出現的是NSURLConnection。作為Core Foundation/CFNetwork 框架的APIs之上的一個抽象,NSURLConnection伴隨著2003年Safari瀏覽器的原始發行版本,誕生于十幾年前。NSURLConnection這個名字,實際上指的是一組構成Foundation框架中URL加載系統的相互關聯的組件:NSURLRequest,NSURLResponse,NSURLProtocol,NSURLCache,NSHTTPCookieStorage,NSURLCredentialStorage,以及和它同名的NSURLConnection。

        在2013年的WWDC上,蘋果官方提供了NSURLConnection的繼任者--NSURLSession。與NSURLConnection相比,NSURLSession最直接的改善就是提供了配置每個會話的緩存,協議,Cookie和證書政策(Credential Policies),甚至跨應用程序共享它們的能力。這使得框架的網絡基礎架構和部分應用程序獨立工作,而不會互相干擾。每一個NSURLSession對象都是根據一個NSURLSessionConfiguration初始化的,該NSURLSessionConfiguration指定了上面提到的政策,以及一系列為了提高移動設備性能而專門添加的新選項。NSURLSession的另一重要組成部分是會話任務NSURLSessionTask,它負責處理數據的加載,以及客戶端與服務器之間的文件和數據的上傳下載服務。目前,NSURLSession已經替代NSURLConnection成為主流。

        除了蘋果官方提供的NSURLSession以及NSURLConnection之外,在實際的開發中,我們更加普遍的使用第三方開源框架--AFNetworking來發送網絡請求。AFNetworking的維護者眾多,并且使用極其簡便,已經成為iOS以及Mac OS X開發中網絡加載操作的首選,在接下來的內容中,我們也會一起學習AFNetworking的使用方法。除了AFNetworking之外,還有可能看到ASIHttpRequest框架的身影,但該框架已經無人維護,因此只能在一些歷史代碼中看到。


        青青草国产成人久久_jizzjizz日本护士高清_亚洲 另类 国产 另类_99久久免费精品色老
        <p id="qitwt"></p>
          1. <object id="qitwt"><strong id="qitwt"></strong></object>
            <p id="qitwt"></p>
            <li id="qitwt"></li>
            <p id="qitwt"><del id="qitwt"><xmp id="qitwt"></xmp></del></p>
            <p id="qitwt"><label id="qitwt"></label></p>
          2. <acronym id="qitwt"></acronym>
            <p id="qitwt"></p>