【讀書筆記】iOS-使用Web Service-基於用戶端伺服器結構的網路通訊(一),ios-service-
Web Service技術是一種通過Web協議提供服務,保證不同平台的應用服務可以互操作,為用戶端程式提供不同的服務。
目前3種主流的Web Service實現方案用:REST,SOAP和XML-RPC.XML-RPC和SOAP都是比較複雜的技術,XML-PRC是SOAP的前身。
一,REST Web Service.
REST被翻譯為“表徵狀態轉移”,聽起來很抽象,“表徵”是用戶端看到的頁面,頁面的跳轉就是狀態的轉移,用戶端通過請求URL獲得要顯示的頁面。REST通常是基於HTTP,URI和XML以及HTML等這些現有的協議和標準。
1,HTTP和HTTPS協議。
Web Servie應用程式層採用的是HTTP和HTTPS等傳輸協議。
1)HTTP協議。
HTTP是超文字傳輸通訊協定 (HTTP)。是一個屬於應用程式層的物件導向協議,由於其簡捷,快速的方式,適用於分布式超文本資訊的傳輸。它於1990年提出,經過幾年的使用與發展,不斷地完善和擴充。HTTP協議支援用戶端伺服器網路結構。是無連線協定,即將每一次請求時建立串連,伺服器處理完用戶端的請求後,就答給用戶端然後中斷連線,不會一直佔用網路資源。
GET方法是向指定的資源發出請求,發送的資訊顯示 在URL後面,使用GET方法應改只用在讀資料,例如靜態圖片等資料。GET方法像是使用明信片給別人寫信,“信內容”寫在外面,接觸到的人都可以看到,因此不安全。
POST方法是向指定的資源提交資料,請求伺服器進行處理。例如:提交表但或者上偉檔案等。資料被包含在請求體中。POST方法有點像是把“信內容”裝入到信封中給別人寫信,接觸到的人都看不到,因此是安全的。
2)HTTPS協議
HTTPS是安全超文字傳輸通訊協定 (HTTPS)。是超文字傳輸通訊協定 (HTTP)和SSL的組合,提供加密通訊及對網路伺服器身份的評鑑。
2,同步GET方法請求編程
3,非同步GET方法請求編程。
4,POST方法請求編程。
5,執行個體:REST Web Servie實現的MyNotes應用。
採用的HTTP方法要求方法,建議使用POST方法,這是因為GET請求靜態資源,資料轉送過程也不安全,而POST主要請求動態資源,這些方法調用都需要傳遞很多參數。
在viewWillAppear:方法中實現查詢調用會增加網路請求次數,對於大量資料返回情況下,畫面出現會比較慢。
二,SOAP Web Service
1,WSDL概念。
WSDL是為描述Web Service發布的XML格式。
WDSL是一種XML Schema文檔,作用是定義XML文檔結構,類似DTD.如果把XML文檔理解成資料庫,那麼XML Schema就是定義資料庫結構的create,drop和alter語句。
2,SOAP協議。
3,執行個體:SOAP Web Service實現My Notes應用。
常用的有:test/plain代表純文字,text/html代表HTML文檔,application/pdf代表PDF文檔,application/msword是Microsoft Word檔案,而SOAP中的有點特殊application/soap+xml;charset=utf-8代表XML的SOAP格式文檔,後面的charset=uft-8是指文檔的字元集。
三,ASIHTTPRequest架構的使用。
ASIHTTPRequest架構的優點:
1,支援下載資料放在記憶體或本地檔案。
2,容易訪問請求和應答HTTP header.
3,支援Cookie;
4,支援GZIP請求或應答;
5,支援緩衝。
6,支援同步或非同步請求。
7,支援HTTPS。
參考資料:《iOS網路編程與雲端應用-最佳實務》