API 端點是什麼?

API 端點是 API 連線的終端,API 呼叫會在其中接收。

學習目標

閱讀本文後,您將能夠:

  • 定義 API 端點
  • 了解 API 端點使用 URL 的原因
  • 掌握 API 端點認證的重要性

相關內容


想要繼續瞭解嗎?

訂閱 TheNET,這是 Cloudflare 每月對網際網路上最流行見解的總結!

請參閱 Cloudflare 的隱私權政策,了解我們如何收集和處理您的個人資料。

複製文章連結

API 端點是什麼?

應用程式設計介面 (API) 是應用程式對另一個應用程式發出服務請求的方法。API 可讓開發人員無需重建既有的應用程式功能。API 端點是履行請求(也就是 API 呼叫)的地方。

如果愛麗絲及鮑伯正在講電話,愛麗絲說的話會傳達給鮑伯,反之亦然。愛麗絲將所說的話傳達至在這次對話的「端點」:鮑伯。

愛麗絲:「鮑伯,你好」----------> 鮑伯

同樣的,API 整合就像一次對話。不過不是在說「你好」,API 用戶端對 API 伺服器說的有點像是「我需要某些資料」—進行 API 呼叫。API 端點伺服器端點接著便會回應「你要的資料在這」—API 回應。API 端點不像愛麗絲或鮑伯那樣具有實體,他們存在於軟體之中,而非硬體。

API 伺服器與 API 用戶端

API 由一或多個伺服氣提供硬體支援—存放資料並執行軟體應用程式的電腦。每個伺服器對網際網路上其他裝置「扮演」資料、內容及軟體的功能。API 端點幾乎皆由伺服器提供支援。

其他的 API 連線終端則是 API 用戶端—對 API 請求服務的實體。即便大部分 API 呼叫都是自動進行的,有些人仍稱這為 API 使用者。

API 用戶端要如何分辨伺服器終端?

API 必須擁有文件,才可作用。其中,文件會指出 API 接受的請求類型、API 能做的事、API 如何將回應格式化以及其端點為何?開發人員在建置應用程式時可以查看 API 的文件並且將此資訊涵蓋在內。

舉例來說,若想查看 Cloudflare 的 API 文件(包括端點是什麼),可前往此處:https://api.cloudflare.com/

API 如何使用 URL?

統一資源定位符 (URL) 在網站上使用於許多不同的目的,包括定位網頁。舉例來說,本網站的美國英文版本的 URL 為 https://www.cloudflare.com/learning/security/api/what-is-api-endpoint/。當使用者在瀏覽器輸入 URL 時,該瀏覽器會知道可以在哪邊找到此網頁並且載入。

URL 也可指出 API 端點。當愛麗絲與鮑伯講電話時,愛麗絲透過撥打鮑伯的電話號碼與他通話。同樣的,API 端點 URL 在進行 API 呼叫時就像是電話號碼般的功能。

API 伺服器可以支援一或多個 API 端點,表示此伺服器將會接受並處理所有這些端點 URL 中導向的呼叫。API 用戶端也將必須擁有 URL,如此一來 API 伺服器便會知道要將其回覆傳送至何處,就像鮑伯和愛麗絲兩人皆需要電話號碼才能成功地讓他們兩人進行通話。開發人員在開發應用程式時會設定此 URL。

URL 中皆包含應用程式層級通訊協定,例如 HTTP,以用來連接。大部分網站 API 使用 HTTP,因此 API 端點 URL 之中包含此協定。

API 端點和用戶端如何進行驗證?

設計良好的 API 不會接受來自任何人的 API 呼叫。這將會讓 API 伺服器呈現開放狀態並接收到攻擊者的惡意資料。此外,API 使用通常會消耗金錢,因此在這些情況下 API 伺服器必須確認 API 呼叫來源是否為付費客戶。

基於這些原因,API 伺服器必須確保 API 呼叫來源用戶端是已知且可信任的。這點是透過認證來達成的。

認證是驗證身份的流程。就像人類使用者對系統認證時有許多方法,API 端點主要有四個可以執行認證的方法:

  1. API 金鑰:API 用戶端會被指派一個金鑰,或是一個獨一無二的字串,且只有他們或是 API 伺服器知道此資訊。當 API 用戶端傳送 API 呼叫至伺服器端點時,其中便包含了金鑰,因此伺服器便可辨識此呼叫的來源。
  2. 基本認證(使用者名稱和密碼):就像使用金鑰的方式,API 用戶端可在 API 伺服器上設定使用者名稱和密碼,且會將這些憑證包含在 API 呼叫中。
  3. OAuth Token:API 伺服器可以使用 OAuth 通訊協定以從可信的認證伺服器取得認證 Token,而無須要求用戶端提供認證。
  4. 互動式 TLS:TLS 是一種通訊協定,可在載入網頁時建立用戶端與伺服器間的認證連線。也可以對 API 整合的雙方進行認證。

在許多情況下,互動式 TLS 是最有效的認證方法。還有一件事,其可認證端點和用戶端雙方,而非只有用戶端,因此雙方皆可確認他們收到的資料來源合法。其也使用私密金鑰,此金鑰絕對不會在端點之間流通,因此傳輸時不會被擷取。另一方面,API 金鑰、密碼和 Token 可能會被複製或是盜竊。

Cloudflare API Shield 使用互動式 TLS 以認證 API 端點及用戶端,協助保護雙方免受攻擊。API Shield 也提供許多其他的 API 安全功能,其中包括限速資料丟失預防 (DLP)進一步瞭解 API Shield