🐙

【試験勉強】HTTP APIとREST APIについて

2023/05/12に公開

HTTP APIとREST API

HTTP APIとREST APIは、ウェブベースのシステムとサービス間でデータを交換するためのプロトコルです。

  • 両方ともHTTPプロトコルを使用
  • Amazon API Gatewayの新機能「HTTP API」はREST APIの上位互換というわけではなく「API Gatewayのコアな機能に特化して低コストで利用したい場合に適した機能」という位置付け

簡単な説明

HTTP API

  • RESTの制約を必ずしも適用しないAPI

REST API

  • サーバーはクライアントの状態を依存しない
  • クライアント/サーバーベース: クライアントとサーバーは独立して進化できる
  • キャッシュ可能: クライアントはレスポンスをキャッシュできる

詳しく説明

REST API(Representational State Transfer API)

RESTは、ウェブサービスの設計に使用される一連の原則です。これは、ウェブサービスがステートレスで、クライアントとサーバー間の相互作用が予測可能で一貫した方法で行われることを要求します。RESTful APIは、データの作成、読み取り、更新、削除(CRUD)の操作を、HTTPメソッド(GET、POST、PUT、DELETE)を使用してリソースに対して行います。

HTTP APIは、RESTの制約を必ずしも適用しないAPIです。一般的には、HTTP APIはHTTPプロトコルを使用してリクエストとレスポンスを送受信しますが、リソースの表現や状態の移行など、RESTの特定の原則を適用する必要はありません。

AWSのHTTP API(Amazon API Gatewayで提供)のように、いくつかのHTTP APIは、REST APIに比べてレイテンシが低く、コスト効率が高いことを目指して設計されています。これは、REST APIに比べて必要な機能が少ない場合や、パフォーマンスとコスト効率が重要な場合に特に有用です。

両者の主な違いは、設計原則と使い方にあります。REST APIは一連の厳格な原則に基づいて設計されていますが、HTTP APIはより柔軟で、特定の用途に合わせて設計できます。

参考

Amazon API Gatewayの新機能「HTTP API」はREST APIの上位互換というわけではなく「API Gatewayのコアな機能に特化して低コストで利用したい場合に適した機能」という位置付け

Discussion