iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
0
Modern Web

30天精通Api (REST vs GraphQL)系列 第 4

Day04 - REST 條件&原則

當符合這些原則......就是RESTful!

前一篇Day03 - REST 組成架構提到了REST架構元素,這次來說說RESTful風格條件與原則

REST條件&原則

  • Client-Server(主從式架構)
    通訊只能由用戶端單方面發起,表現為請求-回應的形式。

  • Stateless(無狀態)
    從 Client 到 Server 的所有請求,皆需包含『 用於理解此請求 』的 所有 相關信息,不得利用任何儲存在 Server 的上下文,每一個 Request 必須包含所有需要的資訊,而不需依賴其他 Request 的狀態。

  • Cacheable(可快取)
    可實作快取,且快取機制可以在 Client 或 Server 中實作。

  • Uniform Interface(統一介面)
    通訊鏈的元件之間通過統一的埠相互通訊,以提高互動的可見性。EX: status code, URI, http method。

  • Layered System(分層系統)
    可分層的系統架構,通過限制元件的行為(即每個元件只能「看到」與其互動的緊鄰層),將架構分解為若干等級的層。
    EX: 在服務器A上部署API,並在服務器B上存儲數據並對服務器C中的請求進行身份驗證。 客戶端通常無法判斷它是直接連接到終端服務器,還是沿途的中介。

  • Code-On-Demand(按需程式碼)
    支援通過下載並執行一些程式碼(例如Java Applet、Flash或JavaScript),對用戶端的功能進行擴充。

HTTP Method
Restful API實作HTTP web service,俗稱的CRUD
1.GET
2.POST
3.PUT
4.PATCH
5.DELETE

總結: 三大架構元件 + 六大原則 = REST架構,符合這架構風格去創造的API,就是Restful API


上一篇
Day03 - REST 組成架構
下一篇
Day05 - REST 優缺點
系列文
30天精通Api (REST vs GraphQL)12

尚未有邦友留言

立即登入留言