網絡基礎

URL的基本格式:協議://主機地址/路徑html

  1.協議:不一樣的協議表明着不一樣的資源查找方式,資源傳輸方式瀏覽器

  2.主機地址:存放着資源的主機(服務器)的IP地址(或是域名)安全

  3.路徑:資源在主機中的具體位置服務器

URL中常見的協議:框架

  • HTTP:開發中經常使用,超文本傳輸協議,訪問的是遠程的網路資源,格式是http://
  • file:訪問的是本地計算機上的資源,後面不須要加主機地址,格式是file://
  • mailto:訪問的是電子郵件的地址,格式是mailto://
  • FTP:訪問的是共享主機的文件資源,格式是ftp://

發送HTTP請求的方法htm

  在http/1.1協議中,定義GET,POST,HEAD,PUT,DELETE,TARCE,CONNECT,PATHCH這8種請求,不一樣的方法對資源有不一樣的操做方式ip

 

GET和POST的比較:主要區別表如今數據傳遞上ci

  GET:1)在請求URL後面以?的形式跟上發給服務器的參數,多個參數之間用&隔開,好比http://www.test.com/login?username=123&pwd=234&type=JSON資源

     2)因爲瀏覽器和服務器對URL長度有限制,所以在URL後面附帶的參數是有限的,一般不能超過1KB開發

  POST:1)發給服務器的參數所有放在請求體中

     2)理論上,POST傳遞的數據量沒有限制(具體害的看服務器的處理能力)

GET和POST的選擇

  1.若是須要傳遞大量數據,好比文件上傳,只能用POST請求

  2.GET的安全性比POST要差些,若是包含機密/敏感信息,建議用POST

  3.若是僅僅是索取數據(數據查詢),建議使用GET

  4.若是是增長,修改,刪除數據,建議使用POST

HTTP的通訊過程

  1.請求

    http協議規定:一個完整的由客戶端發個服務器的HTTP請求中包含如下內容

      請求行:包含了請求方法,請求資源路徑,HTTP協議版本

          GET    /MJServer/resource/images/1.jpg  HTTP/1.1

      請求頭:包含了對客戶端的環境描述,客戶端請求的主機地址等信息

        Host:192.168.1.105:8080

        User-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10.12) Firefox/30.0 //客戶端的類型.客戶端的軟件環境

        Accept: text/html.*/*  //客戶端所能接收的數據類型

        Accept-Language: zh-cn //客戶端的語言環境

        Accept-Encoding:gzip  //客戶端支持的數據壓縮格式

  2.響應

    一個完整的響應包含如下內容

    狀態行:包含了HTTP協議版本,狀態碼,狀態英文名稱

        HTTP/1.1   200   OK 

     響應頭:包含了對服務器的描述,對返回數據的描述

       Server:Apache-Coyote/1.1   //服務器類型

       Content-Type: image/JPEG   //返回數據的類型

        Content-Length:56811 //返回數據的長度

       Date: Mon,23 Jun 2014 12:54:52 GMT //響應的時間

    實體內容:服務器返回給客戶端的具體數據,好比文件數據

 

在iOS中,常見的發送HTTP請求的方案有

  1.蘋果原生(自帶)

  NSURLConnection:用法簡單,最古老最經典最直接的一種方案

  NSURLSession:iOS7新出的技術,功能比NSURLConnection更增強大

  CFNetwork:NSURL*的底層,純C語言

  2.第三方框架

  ASIHTTPRequest:外號"HTTP終結者",功能及其強大,惋惜早已中止更新

  AFNetworking:簡單易用,提供了基本夠用的經常使用功能,維護和使用者多

建議:爲了提供開發效率,企業開出用的基本是第三方框架

 

常見響應嗎

200  :OK //請求成功

400 :Bad Request //客戶端請求的語法錯誤,服務器沒法解析

404:Not Found //服務器沒法根據客戶端的請求找到資源

500: Internal Server Error //服務器內部錯誤,沒法完成請求

相關文章
相關標籤/搜索