# API

介紹:
https://www.hububble.co/blog/api

引用文
https://aws.amazon.com/tw/what-is/api/

# 什麼是 API?

API 是使用一組定義和協定讓兩個軟體元件彼此通訊的機制。舉例來說,氣象局的軟體系統包含有每日的天氣資料。您手機中的天氣應用程式會透過 API 與此系統「交談」並且在您的手機顯示每日天氣的最新消息。

# API 代表什麼意思?

API 代表應用程式開發介面。在 API 的內容中,應用程式一詞指的是具有不同功能的任何軟體。可以將介面看作是兩個應用程式之間的服務合約。這份合約定義了兩者如何使用要求與回應彼此進行通訊。它們的 API 文件包含有關開發人員如何構建這些要求與回應的資訊。

# API 如何運作?

API 架構通常會藉由用戶端和伺服器來說明。傳送要求的應用程式稱為用戶端,傳送回應的應用程式則稱為伺服器。因此在天氣的例子當中,氣象局的天氣資料庫是伺服器,行動應用程式是用戶端。

API 有四種不同方式可以運作,具體取決於它們建立的時機以及原因為何。

  • SOAP API
    這些 API 使用簡單物件存取協定 (Simple Object Access Protocol)。用戶端和伺服器使用 XML 交換訊息。這是過去較為常用,但是較不具有彈性的 API。

  • RPC API
    這些 API 稱為遠端程序呼叫 (Remote Procedure Call)。用戶端在伺服器上完成功能 (或程序),伺服器則將輸出傳回用戶端。

  • WebSocket API
    WebSocket API 是使用 JSON 物件傳遞資料的另一個現代 Web API 開發。WebSocket API 可支援用戶端應用程式以及伺服器之間的雙向通訊。伺服器可將回呼訊息傳送至連接的用戶端,使得它與 REST API 更有效率。

  • REST API
    這是現今在 Web 上可以找到最常用以及最彈性的 API。用戶端傳送要求至伺服器作為資料。伺服器使用此用戶端輸入來啟動內部功能,並且將輸出資料傳回用戶端。讓我們在下面更詳細地看看 REST API。

# 什麼是 API 整合?

API 整合是會自動更新用戶端與伺服器之間資料的軟體元件。API 整合的一些例子是當自動資料從手機的圖片庫同步至雲端,或是當您前往其他時區時,時間與日期自動地在您的筆記型電腦上同步。企業可以使用它們有效地自動化許多系統功能。