先用一句話理解
理解 GET、POST、Endpoint、JSON、Webhook、SDK,以及 Python、Node.js、FastAPI、Django 與 Serverless 的職責。
不要只記縮寫。要能回答:這個技術是什麼類型、負責什麼、與哪些工具相依、出問題時要查哪一層。
API 與後端:基礎名詞與具體例子
| 名詞 | 白話解釋 | 使用情境 |
|---|---|---|
| API | 讓軟體系統依約定呼叫功能或交換資料的介面。 | 前端查詢訂單狀態。 |
| HTTP / HTTPS | 請求與回應的網路協定;HTTPS 使用加密傳輸。 | 瀏覽器送出 HTTPS 請求。 |
| REST | 以資源及 HTTP 方法組織 API 的常見風格。 | GET /orders/123 查詢訂單。 |
| Endpoint | 對外暴露特定操作的路徑。 | POST /api/orders。 |
| GET / POST | 常見 HTTP 方法;GET 主要讀取,POST 常用於提交或觸發處理。 | 查詢商品使用 GET;送出訂單使用 POST。 |
| JSON | 系統之間常見的結構化資料格式。 | {"orderId":123,"status":"paid"}。 |
| Webhook | 事件發生時由來源系統主動向指定入口發送通知。 | 付款完成後通知訂單服務。 |
| SDK | 替某服務封裝呼叫方式的工具套件。 | 用供應商 SDK 呼叫 AI API。 |
| Python | 常見後端與 AI 程式語言。 | 用 Python 驗證資料。 |
| Node.js | 在瀏覽器之外執行 JavaScript 的環境。 | Node.js 運作 API 伺服器。 |
| FastAPI / Django | 使用 Python 的 Web 框架。 | 以 FastAPI 實作訂單 API。 |
| Serverless | 由平台管理底層執行環境的部署模式。 | 以 Cloudflare Workers 處理表單。 |
常見混淆:它們究竟差在哪?
API vs Webhook
API 呼叫通常由用戶端主動發起;Webhook 是來源事件發生時主動通知接收方。
Python vs Node.js
Python 是程式語言;Node.js 是 JavaScript 執行環境。
REST vs JSON
REST 是 API 設計風格;JSON 是資料格式。
實作時的三個檢查點
- 列出每個 Endpoint 的請求、回應、驗證及錯誤格式。
- 將第三方 API Key 放在後端,不要放在公開瀏覽器程式。
- 為外部服務失敗、超時和重試制定規則。
常見問題 FAQ
API 一定要透過網路嗎?
不一定。API 是程式介面的廣義概念;Web API 常透過 HTTP 網路提供。
Webhook 是否比 API 更安全?
兩者不保證彼此更安全;Webhook 必須驗證來源簽章、防止重送並妥善處理失敗。