20160819關於使用REST服務

2021-07-16 22:30:32 字數 1016 閱讀 3090

前幾天,我在面試中被問到rest的服務,可惜對這方面知之甚少,今天介紹一下rest,這個是個什麼東西。

首先要推薦一下這篇計數部落格,寫的挺詳細

有段文字描述rest

rest是一種web的組織架構,下面內容進一步解釋。

w3c確定了兩類主要的web服務,一是rest服務,就是使用一套統一的無狀態操作來處理web資源。另一種是soap,wsdl(web服務描述語言)。

rest式伺服器有幾個特點,無狀態性,統一資源定位和可快取性。

無狀態性:

在乙個rest系統中,服務端並不會儲存有關客戶的任何狀態。也就是說,客戶端自身負責使用者狀態的維持,並在每次傳送請求時都需要提供足夠的資訊。每次api呼叫都被視作新的請求,伺服器不會記錄客戶端的上下文。

統一資源的定位:rest不使用資源的id來作為引數,而是將它作為url的一部分。

可快取性:

rest系統需要能夠恰當地快取請求,以儘量減少服務端和客戶端之間的資訊傳輸,以提高效能。

rest式服務的響應通常以一種統一的、雙方一致的格式返回給客戶端,一般是xml和json,ios大部分是json,這個方式簡單方便。json解析有幾個比較有名的框架,我用過的是jsonkit,除此之外還有sbjson,touchjson,yajl。有段文字這樣寫到,如果打算在64位架構上,不建議使用jsonkit。jsonkit在訪問物件的isa指標,而不是objc_getclass,isa在64位執行是環境中是標籤指標(這個翻譯不是很理解?),所以建議使用nsjsonserialization。

以上內容只是了解一下rest,ios開發重要的點應該在如何更高效的與伺服器的互動,提高應用的效能。

快取有兩種方式,一種是按需要快取,另一種是預快取。

按需快取:是指把伺服器的內容以某種格式放在本地的檔案系統的中,之後對於每次的請求,檢查本地是否有相應的資料,是否過期,在決定是否訪問伺服器重新獲取資料。

預快取:把內容放在本地以備將來訪問。持久化可以參考20160816關於ios中的持久化這篇文章。

本文 完。

在Android中使用res資源

1,獲取資源 在 中使用context的getresourse 方法得到resourse物件,該物件提供了獲取各類資源的方法。例 this.getresourse getstring r.資源型別.資源名稱 2 引用資源 資源型別 資源名稱 r.資源型別.資源名稱 3,使用xml檔案 4,更改背景 ...

使用RES協議,顯示PE資源中的網頁

在開發客戶端的時候,需要將html js image等檔案隱藏到pe資源中,然後在瀏覽器中 或者瀏覽器控制項中 通過使用res 協議來顯示。具體的協議描述見 http msdn.microsoft.com en us library aa767740 vs.85 aspx 方法如下 遍歷目錄,將需要...

使用RES協議,顯示PE資源中的網頁

在開發客戶端的時候,需要將html js image等檔案隱藏到pe資源中,然後在瀏覽器中 或者瀏覽器控制項中 通過使用res 協議來顯示。具體的協議描述見 方法如下 遍歷目錄,將需要隱藏的檔案新增到資源dll中,使用 beginupdateresource updateresource endre...