0

サーバーを呼び出す必要があるソフトウェアを作成しているときに、Web API はソケット通信よりも有利ですか?

Web API を作成する場合、http、http サーバー、Web アプリケーション フレームワークを利用して、ソケットで同じ機能を実行するよりも少ない作業でより多くのことを実行できますか?

クライアントがインターネット経由でサーバーを呼び出す場合、それを Web API として実装しない理由はありませんか?

4

2 に答える 2

2

「Web API」は一種の「ソケット API」だと思います。ソケット API は基本的にソケット上で実行されるものであれば何でも構いませんが、Web API は HTTP プロトコルを使用して実行されます。これには少し制限がありますが、通常は利点の方が重要です。

  1. 独自のプロトコルとメソッドを再発明するのではなく、既存のプロトコルとメソッドを再利用します。これにより、作業が簡単になり、すべてを最初から実装する必要がないユーザーにとってもはるかに簡単になります。
  2. 既存のツール (および通常の Web ブラウザー) を使用して APIをデバッグできます。ソケット API を使用すると、通常は telnet を使用できますが、より複雑なケースでは、Web ブラウザーまたは任意の HTTP クエリ ツールを使用する方が簡単です。
  3. HTTP ポート 80 (および/または 443) を再利用します。これは通常、サービスが使用するポートへのユーザーのアクセスをファイアウォールが禁止する可能性が低いことを意味します。
  4. 結局のところ、適切なテクノロジーを選択すれば、それらを「in」または「as」Web ページで再利用できます。たとえば、AJAX または類似のテクノロジを使用して、Web ページのスクリプトで API からデータを取得できます。

さらに良いことに、API 出力に XML を使用するだけであれば、基本的に API と Web ページを同時に作成できます。XSLT スタイルシートへの参照をそれに追加するだけで、Web ブラウザーがその API を使用するたびに、生の XML を HTML に変換するために使用されます。

于 2012-07-31T07:49:50.750 に答える
0

Web サービスは、HTML ではなく XML のみを出力します。Web サービスを作成する理由は、Web サイトを作成する理由と変わりません

Web API はリモートで呼び出すことができます。

Web API は、独立した方法で呼び出すことができます。つまり、ユーザー (およびあなた) が、最終顧客向けに構築した別のインターフェイスを使用できるようにすることができます。

必要に応じて API をプログラミングできます。 唯一の要件は、有効な XML を生成することです。したがって、はい、何らかのフレームワークを使用できます。Web ページを出力するものとして Web サーバーを使用することになっています。

クライアントがインターネット (SAAS) を介してサービスを呼び出す場合、Web サービスを作成すると、新しいインターフェイスを提供できます。SOAP を使用したり、Web ページを更新したり、負荷の高いクライアントにデータを提供したりするには、Web サービスが必要です。

于 2012-07-31T07:37:18.347 に答える