程式導師實驗計畫 [第四週] 網路基礎概論
筆記網路的大方向以及基礎概念。
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 | POST http://www.store.com/orders |
- 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 回應的狀態碼來知道現在是什麼狀況
參考資料: