RESTful API 相關資訊收集





RESTful API 是指實踐 REST Representational State Transfer 精神的 API 設計風格,其核心精神在於借用 HTTP 協定做為基礎,讓 API 規格簡單一致,大致有以下特色 :
  • 透過 URI 指定要存取或操作的資源
  • 可使用 QueryString,但只應拿來傳遞額外過濾條件或參數,不應包含識別資源的鍵值
  • 使用 HTTP 方法 POST、GET、PUT、DELETE 對應到建立、讀取、更新、刪除等動作。
  • 也有人主張 PUT 是 Relace (Create 或 Update),另外增加 PATCH 用於部分更新( Partial Update )
  • 透過 Accept Header 指明可接收的內容格式,例如:XML 或是 JSON
  • 伺服器透過 HTTP 狀態碼回傳執行結果,例如:200 成功、401 存取被拒、404 找不到資源、500 伺服器錯誤
而 REST 概念的提出者 Roy Fielding 是 HTTP 規範的主要作者及 Apache HTTP Server 專案的發起人之一,這也是讓 RESTful API 風格備受推崇的原因之一。

RESTful API 設計準則與實務經驗

RESTful 是一種「軟體架構風格」

RESTful-Triangle (REST 金三角) 概念:

 RESTful-Triangle 右邊這個三角形描述了以下三個重要的概念: 

  1. Nouns 名詞:用來定義你的網址 URL,記住,每一個網路上的資源應該僅有一個唯一的識別位置,就像你的房子有獨一無二的「住址」一樣。 
  2. Verbs 動詞:描述了對 Nouns 名詞 (資源 URL) 的操作動作,在 HTTP 1.1 的實作當然就是 HTTP Method。比如用 GET 取得文章內容、用 DELETE 刪除文章等等行為。 
  3. Content Types 資源呈現方式:比如取得某一個 URL 文章的 HTML 格式、或者 XML 格式,同樣的 URL 資源可以有不同型態的表現方式。


RESTful 的優點如下所列:
  • 瀏覽器即可以作為 client 端
  • 可以更高效地利用 cache 來達到更快的回應速度
  • 界面與資料分離
  • 節省伺服器的計算資源
  • 可重用! web/android/ios 都可以用, 無痛轉換!

RESTful 的要求:
  • client - server 架構
  • 分層系統
  • 利用快取機制增加效能
  • server-side: 在 GET 資源時,若該資源並沒有被變更,就可以利用 cache 機制減少 query,並且加快回應速度
  • client-side: 透過 client 端 cache 記錄 cache 版本,
  • 若向 server 要求資源時發現 server 最新版與 cache 相同,
  • 則 client 端直接取用本地資源即可,不需要再做一次查詢
  • 省機器運算及流量 = 省錢
  • 通訊協定具有無狀態性

留言

Google Search

推薦內容橫式

本月熱門文章

綠能貪污原來大多是國民黨民眾代表

國民黨李煥家族 李慶中李慶珠甲等特考舞弊 李慶華詐領助理補助款 李慶安雙重國籍

中國新病毒 HMPV 人類偏肺病毒 要戴口罩 勤洗手

八炯統戰影片心得 千萬要謹慎 勿掉入金錢陷阱

國防安全:中華人民共和國吸收中華民國高階軍官作為內應

2024年5月至12月台中市非自然死亡列表 從南寧, KK .. 到台中西屯?

立法院過去幾週都被國民黨及黃國昌挾持 無法討論法案 還要直接一路通過

讓你懷疑自已的記憶力以及語文能力的經典討論串:無心插柳柳橙汁

統戰影片心得 舔共台灣人做的是會得罪雙方人民的事情

柯文哲:當選後將改掉黑金槍毒不得參選」排黑條款。 台灣民眾黨有哪些人受影響

這個網誌中的熱門文章

Android應用開發豆知識:利用 adb 安裝 apk 到裝置上

Android 中文輸入法 官方版 ! Gboard - Google 鍵盤 開始支援注音輸入啦

Google Play 推薦Android app 誠徵App排行榜

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

[家教][社會觀察] 建中教我的事 沒上建中被父母親折磨? 在建中到底是如何 ...

[FAANG面試] Amazon/AWS 領導力準則 14 Amazon Leadership Principles

Acer ICONIA Smart S300 更新後越來越好 Acer也有出手機?!

[品質控制] 什麼是Sanity test ? 軟體測試常見名詞整理 包含不同部門的測試人員負責範圍

新鮮人找工作:職場名詞解釋 AE FAE Pre-sales Post-sales