プロトコル †
REST †
gRPC †
- リモート プロシージャ コールの一般的な概念を進化させた gRPC では、クライアントはリモート コンピューター上のメソッドを、そのシステムがローカルであるかのように直接呼び出すことができます。
- gRPC はプロトコル バッファー (または Protobufs) を利用して、テキストベースの JSON や XML ではなく、バイナリにシリアル化されたデータでタイプセーフなデータ転送インターフェイスを定義します。
- HTTP/1 よりも信頼性が高く、高速で効率良い HTTP/2 を利用しています。
- gRPC はデータのシリアル化に Protobufs を使用することで、非常に軽量で高速な API を提供します。非常に軽量であるため、gRPC はクライアントの計算能力が限られている場合 (IoT など) によく使われます。このような場合、サーバーが負荷の高い処理を行います。
- gRPC の言語に依存しないインターフェイス コントラクトの定義は、異なる言語で記述されたサービス間に優れた通信方法を提供します。gRPC の学習曲線は、REST ほど浅くはないものの、十分に許容できるものです。
- gRPC は非常に効率的ですが、ブラウザーで十分にサポートされているわけではありません。また、サンドボックスで実験しながら学習するのは難しく、HTTP/2 の使い方も、経験の浅い API 開発者には馴染みのないものでしょう。
- gRPC はスマート デバイス間の通信の促進に広く使用されています。サイズ、限られた計算リソース、リアルタイム機能の必要性から、IoT デバイスの動作は gRPC のパフォーマンスに依存しています。
- gRPC は、デプロイメント パイプライン ツールやアプリケーション モニタリング システムにも適しています。
SOAP †
各言語毎のツール †
データフォーマット †
JSON †
JSONP †
XML †
YAML †
PHPserialize †
Protocol Buffers †
セキュリティ †
クロスサイトスクリプティング対策 †
クロスドメインアクセス対策 †
- WebAPIを公開するドメインは,他のサービスとは別のドメインにする
機密情報の取り扱い †
- 機密情報を提供する場合にはユーザ認証を行う ... Basic認証、Digest認証
- 機密情報をJSON,JSONP形式のデータとして提供する場合には,SCRIPTタグから読み込まされた際にデータが漏洩しないよう注意
- 機密情報を含んだデータをやりとりする場合には,WebAPIをHTTPSで提供
不正利用対策 †
- メールアドレス等をもとにユーザ登録を行い,WebAPIを利用するための認証キーを発行し,WebAPI利用の際には認証キーを必須にする
- 認証キーは万全ではない
認証API †
APIの例 †
Amazon †
Flicker API †
Google †
- Google AJAX Language API
- Google Chart API
Twitter API †
Yahoo! †
Amazon Simple Storage Service †
Amazon Simple DB †
Amazon Elastic Compute Cloud †
SiteCatalyst? †
カテゴリ別 †
医療系 †
|