HTTPクライアントとは?

HTTPクライアントは、Webサーバーまたは API にリクエストを送信し、返ってきた内容を表示します。開発者は、コードを書いてエンドポイントを利用する前に動作を試したり、API が正しいステータスとデータを返すことを確認したり、bug を再現したり、サーバーが送信するヘッダーを確認したりするために使用します。Postman、Insomnia、Yaak などのデスクトップアプリや、コマンドラインツールの curl が代表的な例です。

ツールの説明

このツールは、インストール不要でブラウザー上で動作する軽量な HTTP クライアントです。メソッドを選択し、URL を入力して、クエリパラメーター、ヘッダー、本文、認証情報を追加し、送信を実行します。レスポンスには、ステータスコード、時間、サイズ、ヘッダー、本文が表示され、JSON は読みやすく整形されます。curl コマンドを貼り付けてリクエスト全体を入力することも、任意のリクエストを curl コマンドとしてコピーすることもできます。

機能

  • GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS リクエスト
  • URL と同期されたクエリパラメーター。どちらからでも編集可能
  • カスタムヘッダー。ブラウザーが送信しないヘッダーには警告を表示
  • JSON、XML、プレーンテキスト、URL エンコード形式のフォーム本文。Content-Type は自動設定
  • Bearer token と基本認証
  • レスポンスのステータス、時間、サイズ、ヘッダー、本文。JSON は見やすく整形して表示
  • 画像レスポンスをプレビュー表示し、任意のレスポンスをファイルとしてダウンロード
  • curl コマンドを貼り付けてリクエストをインポート。ブラウザーの開発者ツールにある「cURL としてコピー」にも対応
  • 現在のリクエストを curl コマンドとしてエクスポート

仕組み

このツールは、ブラウザー独自の fetch API を使用してリクエストをデバイスからサーバーへ直接送信するため、当社のサーバーを経由することはありません。ただし、ブラウザーのセキュリティルールは適用されます。別の Web サイトへのリクエストで読み取り可能なレスポンスを取得できるのは、そのサーバーが CORS(Cross-Origin Resource Sharing)を通じたアクセスを許可している場合のみです。多くの公開 API は許可していますが、非公開 API の多くは許可していません。また、ブラウザーは Web ページから Cookie、Host、Origin、User-Agent など一部のヘッダーを設定することを拒否し、サーバーが公開を選択したレスポンスヘッダーのみを表示します。https:// で配信されているページからは、通常のブラウザーでは localhost を除き、plain http:// アドレスを呼び出すことはできません。

ヒント

  • レスポンスがなくリクエストに失敗した場合は、ブラウザーの開発者コンソールを開いてください。通常は、サーバーに Access-Control-Allow-Origin ヘッダーがないことが原因で、失敗理由が表示されます。
  • 自分の API をテストするには、このサイトの origin を CORS 設定で許可するか、localhost でテストしてください。
  • Cookie やサーバーだけが持つ IP アドレスを必要とするリクエストは、curl で送信する方が適しています。cURL タブからコピーし、ターミナルで実行してください。
  • URL フィールドで Enter キーを押すと、リクエストを送信できます。
  • スキームを省略すると、ツールが https:// を追加します。ただし、localhost と 127.0.0.1 には http:// を追加します。
  • API キーの場合は、Headers タブで X-Api-Key などのヘッダーとして追加してください。