程式導師實驗計畫 [第四週] 網路基礎概論

筆記網路的大方向以及基礎概念。


API

什麼是 API? 大學時期第一次理解 API 的概念是透過這部影片。

API 的全名為 Application Programming Interface ,中文為應用程式介面

API 是軟體與軟體之間的溝通管道,規定了當一個系統上的軟體發出 Request 向另一個系統上的軟體交付資料與接收資料的方式。
它本身是抽象的,僅定義一個介面,這個介面可以方便開發者的完成交付與接收資訊的目的。

HTTP method

我們可以用 RESTful 風格的架構來發 Request 給 Server 來完成我們的需球,而 HTTP method 分為以下幾種詞彙

  • GET : 讀取特定資源(按照識別碼)或資源集合

例如一個網路商店的應用,需要撈出全部的商品資訊

1
GET http://www.store.com/products

而需要撈出指定的商品資訊,這邊的12345就是識別碼,讓 server 端知道你需要的是哪一件商品資訊

1
GET http://www.store.com/products/12345
  • POST : 建立新資源

當你想要建立一個購買訂單或是創建新的商品資訊,可以利用 POST 送出

1
2
3
4
POST http://www.store.com/orders
<purchase-order>
<item> ... </item>
</purchase-order>
  • PUT : 使用給定的一組資源替換目前的資源。

可以用來修改現有的商品資訊。

  • DELETE : 刪除整組或指定的資源

參考資料:

HTTP Statue Code

HTTP Status Code 指的是 Server 端 回應的狀態,不同的狀態碼分別代表著各自的類型。
這樣的分類可區分為三個層級,分別用三個數字顯示(ex: 404 代表找不到網頁、200 表示網頁正常),第一個數字為大類,第二個數字為中類,第三個數字為小類 。

狀態碼大致分為五種類別:

  • 1xx - 資訊回應 ( Informational )

當 Server 端 正在處理請求或是切換通訊協定會暫時回應 Client 端 一個臨時狀態。

  • 2xx - 成功 ( OK )

請求成功、創建成功、請求已被接受或是已經理解 Client 端 的要求。

  • 3xx - 重新導向( Redirection )

Server 端需要採取更多動作才能完成請求,例如網址已經不存在,重新導向到指定的新網址。

  • 4xx - Client 端錯誤 ( Client Error )

代表發生的錯誤跟 Client 端 有關,例如權限不足、參數不合法、密碼錯誤

  • 5xx - Server 端錯誤 ( Server Error )

代表發生的錯誤跟 Server 端 有關,無法完成 Client 端 的請求。

大致了解狀態碼的類型之後就可以從 Server 回應的狀態碼來知道現在是什麼狀況

參考資料: