HTTP協議的概念mysql
HTTP協議,Hyper Text Transfer Protocol (超文本傳輸協議)是用於從萬維網服務器傳送超文本到本地瀏覽器的傳輸協議,HTTP是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型sql
瞭解C/S模式編程
Client(客戶端)和Server(服務器)經常分別處在相距很遠的兩臺計算機上,Client程序的任務是將用戶的要求提交給Server程序,再將Server程序返回的結果以特定的形式顯示給用戶;Server程序的任務是接受客戶程序提出的服務請求,進行相應的處理,再將結果返回給客戶程序瀏覽器
iOS實現網絡編程安全
HTTP協議請求如何實現服務器
網絡請求地址對象NSURL的做用及用法網絡
網絡請求對象NSURLRequest、NSMutableURLRequest的做用和用法異步
網絡連接對象NSURLConnenction的做用及用法學習
網路連接協議NSURLConnectionDataDelegate的做用及用法url
網絡請求數據信息NSURLResponse的做用及用法
網絡鏈接中所用到的類
咱們將在後面的學習過程當中遇到五個關於網絡鏈接的類分別是:NSURL, NSURLRequest, NSMutableURLRequest, NSURLResponse, NSError.
NSURL:這個類封裝了一個網絡路徑。
NSURLRequest:咱們將經過這個類設置一些網絡的請求信息。
NSMutableURLRequest:這個類是NSURLRequest的子類,能夠設置一些請求參數
NSURLResponse:這個類能夠接受一些從服務器返回的信息
NSError:這個類包含了咱們在網絡請求中遇到的錯誤信息
NSURL
url,統一資源定位符,也稱爲網址,因特網上標準的資源網址
一個典型的url:http://lily:123456@www.baidu.com/search?hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
url的符語法: 協議://受權/路徑?查詢 註釋:url中網址後面的路徑服務器中的文件夾 ?後面跟的是參數,多個參數時經過&(and)連接
協議:ftp://(文本傳輸協議) http://(超文本傳輸協議)
https://(安全超文本傳輸協議) file://(本地文件協議)
URL的請求方式
網絡請求方式有兩種:GET 和 POST
兩種方式的相同點是:
都能給服務器傳輸數據
兩種請求方式的不一樣點是:
一、給服務器傳輸數據的方式:
GCT:經過網址字符串
POST:經過data
二、傳輸數據的大小:
GET:網址字符串最多255字節
POST:使用NSData,容量超過1G
三、安全性:
GET:全部傳輸給服務器的數據,顯示在網址裏,相似於密碼的明文輸入,直接可見
POST:數據被轉成NSData(二進制數據),相似於密碼的密文輸入,沒法直接讀取
鏈接方式
同步鏈接:程序容易出現卡死現象
異步連接:等待數據返回
異步連接有兩種實現方式:
設置代理,接受數據
實現block
同步鏈接
同步鏈接請求可讓你可以從因特網請求數據,一旦發送同步請求後,程序將中止用戶交互,直至服務器返回數據完成纔可進行下一步操做。
首先咱們創建一個TableViewController視圖控制器在方法viewDidLoad裏面咱們將將網址字符串轉成NSURL對象,而後根據NSURL對象建立NSURLRequest請求對象,而後創建同步連接,再經過jeson解析信息
異步鏈接
同步鏈接會讓程序出現「卡死」現象,致使用戶交互不友好,而異步連接正好改變了這一弊端,異步鏈接不會阻塞主線程,而會創建一個新的線程來操做,所以用戶在發送出異步請求後依然能夠對UI進行操做,程序能夠繼續進行。
異步鏈接(代理)
設置NSURLConnection代理
實現相應的代理方法:開始響應接受數據、接收數據 、成功、失敗
建立了URL,指定代理以後,代理中的相應方法實現以下:
異步鏈接(block)