このようなシステム間の対話の基礎は、
XMLHttpRequest
オブジェクトのインスタンスが使用されるアプリケーションでのAJAXテクノロジーです。 プログラマーがAJAXおよび
XMLHttpRequest
を簡単に操作できるようにするために、開発者に便利なインターフェイスを提供する特殊なライブラリが作成され、低レベルのメカニズムを使用する必要がなくなりました。
本日、私たちが翻訳した資料は、HTTPを操作するための5つの一般的なツール、Axios、Request、Superagent、Fetch、およびSupertestの分析に当てられています。
アクシオス
HTTPリクエストを実行するためのAxiosライブラリは、 promiseに基づいています。 Node.jsおよびブラウザーアプリケーションでの使用に適しています。 このライブラリは、IE8 +を含むすべての最新ブラウザーをサポートしています。
▍強み
- Node.js環境およびブラウザーで動作します。
- 約束をサポートします。
- リクエストを実行およびキャンセルできます。
- 応答タイムアウトを設定できます。
- XSRF攻撃に対する保護をサポートします。
- 要求と応答をインターセプトできます。
- データのアップロードの進行状況の表示をサポートします。
- ReactおよびVueに基づくプロジェクトで広く使用されています。
弱点
- このライブラリは使いにくいです。
スーパーエージェント
AxiosのようなSuperagentライブラリは、Node.jsおよび最新のブラウザーに適しています。 開発者に、使いやすいシンプルで理解しやすいAPIを提供します。
Superagentを使用してHTTPリクエストを実行するには、適切な
request
オブジェクトメソッドを呼び出すだけです。
request .get('') .then(res => log(res)) .catch(err => log(err))
▍強み
- プラグインをサポートします。
- 設定可能。
- HTTPリクエストを作成するための素晴らしいインターフェイスがあります。
- クエリを完了するための複数の呼び出しのチェーンをサポートします。
- Node.js環境およびブラウザーで動作します。
- データのアップロードおよびダウンロードの進行状況表示をサポートします。
- チャンク転送エンコードメカニズムをサポートします。
- コールバックをサポートします。
- このライブラリ用に多くのプラグインが開発されています。
弱点
- これには、標準に準拠していない種類のAPIがあります。
リクエスト
リクエストライブラリは、レビュー済みの以前のツールと比較して、HTTPリクエストを実行するための簡略化されたツールです。 このライブラリを使用する場合、他のライブラリを使用する場合よりも少ないコードを記述する必要があります。 Promiseは使用しませんが、この機能が必要な場合は、 Request-Promiseライブラリを使用できます。これは、Requestライブラリのラッパーを実装し、 Promiseを使用できるようにします。
▍強み
- 使いやすいAPI。
弱点
- ライブラリはプロミスを使用しません。
フェッチ
このレビューで取り上げられている他のツールとは異なり、 Fetchはライブラリではありません。 これは標準のブラウザAPIであり、
XMLHttpRequest
代替です。
▍強み
- 柔軟性と使いやすさ。
- 「コールバックの地獄」を回避するプロミスの使用。
- 最新のすべてのブラウザーによるサポート。
- 要求/応答アプローチに従う。
- シンプルで素晴らしい構文。
- React Nativeでサポートされています。
弱点
- サーバー環境では機能しません。
- リクエストのキャンセルなど、HTTPライブラリで利用可能な機能の一部は実装していません。
- 要求モード、ヘッダー、資格情報などのデフォルトパラメータの組み込みサポートは含まれていません。
スーパーテスト
Supertestライブラリは 、Superagentライブラリに基づいています。 Node.jsに基づいてHTTPサーバーをテストするように設計されています。 スーパーテストにより、開発者は独自のAPIおよびスーパーエージェントライブラリが提供する低レベルAPIにアクセスできます。
▍強み
弱点
- ブラウザでは機能しません。
まとめ
この記事では、ブラウザーテクノロジーとNode.jsプラットフォームを使用してアプリケーションを作成するJS開発者に役立つ、HTTPを操作するための一般的なツールをいくつか検討しました。 特定のプロジェクトのHTTPサブシステムのベースを選択する場合、最初に適切に見えるいくつかのツールを試してから、最終決定を行うことをお勧めします。
親愛なる読者! どのHTTPライブラリを使用していますか?