Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

Postman HTTP2非対応問題:HTTP2のAPIのテスト方法はこちら

2017年以来、いろんなユーザーは、PostmanがHTTP2というプロトコルをサポートすることを期待しています。しかし、6年も経ていた今、PostmanはまだHTTP2をサポートしていません。本文では、HTTP2の基本情報を紹介した上、HTTP2のAPIをテストする方法を皆さんに紹介します。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

HTTP2というプロトコルは、どんどん流行っているようになり、多くのユーザーに利用されています。それに伴って、HTTP2を採用しているAPIも多くなります。2017年以来、いろんなユーザーは、PostmanがHTTP2というプロトコルをサポートすることを期待しています。しかし、6年も経ていた今、PostmanはまだHTTP2をサポートしていません。本文では、HTTP2の基本情報を紹介した上、HTTP2のAPIをテストする方法を皆さんに紹介します。

HTTP2とは

HTTP2は、2015年に正式リリースされたHTTPの新しいバージョンです。HTTP1.1の問題点を改善するために設計されており、主に以下のような新機能を備えています。

まず、ヘッダー圧縮が実装されているため、通信のオーバーヘッドを大幅に削減できます。また、コネクションを多重化することで1つのTCPコネクション上で複数のデータストリームを同時に転送できるようになり、通信効率が向上します。そして、サーバープッシュによってサーバーがクライアントに必要と思われるデータをあらかじめ送信できるようになるため、クライアント側のデータ取得が迅速になります。

http2

その一方で、HTTP1.1との後方互換性も維持されているので、すぐに新しいプロトコルに置き換えることはできませんが、主要なブラウザやWebサーバーで既にHTTP2への対応が進んでいるのが現状です。HTTPの高速化と通信効率の改善に寄与する新世代のプロトコルとして、徐々にその普及が進んでいくことが期待されています。

PostmanのHTTP2へのサポート

2017年以来、いろんなユーザーは、PostmanがHTTP2というプロトコルをサポートすることを期待しています。しかし、6年も経ていた今、PostmanはまだHTTP2をサポートしていません。

ソース:https://github.com/postmanlabs/postman-app-support/issues/2701

Postmanの現状として、HTTP2をサポートしていないので、HTTP2を採用しているAPIをテストすると、レスポンスで「Could not get response(レスポンスを取得できない)」というエラーが表示され、テストに失敗しています。

例えば、https://api.sandbox.push.apple.com/ はHTTP2を採用しているサーバーになります。

http2のサーバー

Postmanを使って、リクエストをこのサーバーに送信すると、レスポンスが取得できません。

Postmanはhttp2に非対応

それでは、HTTP2のAPIをテストするには、どうしたらいいですか?次は、Apidogというより包括的なAPIクライアントツールを使って、HTTP2のAPIを簡単にテストできる方法を皆さんに紹介します。

button

ApidogでHTTP2のAPIを簡単にテスト可能に

Apidogは、APIの設計、仕様書生成と共有、テスト及びAPIモックにも対応可能なAPIライフサイクリ管理ツールになります。Apidogの最新バージョンでは、HTTP2プロトコルへのサポートが開始されました。これにより、Apidogを使用して、いつものHTTP APIのようにHTTP2のAPIを簡単にテストすることが可能です。

ステップ⒈Apidogを開き、リクエストを新規に作成します。

ステップ⒉Apple Push Notification Service(Appleプッシュ通知サービス)の「https://api.sandbox.push.apple.com/」をエンドポイントのURLを送信すると、エラーが発生されずレスポンスを成功に取得できます。

ApidogでHTTP2リクエストを送信

また、「設定タブ」に切り替えて、HTTP2に対応するかどうかを指定するために、HTTPとHTTPSの接続方式を選択することも可能です。

ApidogでHTTP2の設定
button

HTTPS接続方式の選択

HTTP/1.1

従来のようにHTTP/1.1という接続方式を選択すると、Apidogは、HTTP1.1及びそれ以前のプロトコルを採用するサーバーからレスポンスを取得できます。

HTTP/2 ALPN

HTTP/2 ALPNに切り替えると、ApidogはHTTP/2 ALPN(Application-Layer Protocol Negotiation)を使用して接続を確立します。まずはHTTP/2を使用して接続しますが、サーバーがHTTP/2をサポートしないことを検出した場合は、自動的にHTTP/1.1を使用します。こういう流れのおかげで、ApidogはAPIが利用しているHTTPプロトコルを自動的に判断できるので、いつものようにそうすれば、HTTP/2のAPIをテストしたりすることができます。

HTTP接続方式の選択

HTTP/1.1

HTTP接続方式をHTTP/1.1を指定すると、Apidogは、HTTP/1.1のみからレスポンスを取得できます。

HTTP/2 Prior Knowledge

HTTP接続はプレーンなTCP接続で行われるため、TLSハンドシェイク時に行われるALPNによるプロトコルネゴシエーションは利用できません。そこで、HTTP接続方式でHTTP/2を選択すると、Apidogは、HTTP/2を直接使用してh2c接続を確立します。サーバーがHTTP/2をサポートしていない場合は接続失敗になります。 HTTP/1.1は使用されません。

まとめ

Postmanは残念ながら現在もHTTP2に対応していませんが、Apidogを利用することでHTTP2のAPIも簡単にテストすることができます。ApidogのHTTP/2 ALPN接続では、サーバーのプロトコルを自動検知して最適な通信を実現します。設定でHTTP/2を直接指定することも可能です。APIテストツールとして、ApidogはPostmanに代わる強力な選択肢となります。

button
Deepseek APIの使い方 (R1 & V3): スクリーンショット付きステップバイステップガイドチュートリアル

Deepseek APIの使い方 (R1 & V3): スクリーンショット付きステップバイステップガイド

このガイドを利用することで、ユーザーは簡単にAPIキーを生成し、Deepseekプラットフォームに統合し、Apidogを活用して効率的なAPIデバッグが可能です。環境変数を設定し、プロダクション環境でスムーズにリクエスト処理を行い、開発効率を向上させます。

中村 拓也

2月 6, 2025

初学者向け:Ollamaを使ってDeepSeek R1を簡単にローカルで動かす方法チュートリアル

初学者向け:Ollamaを使ってDeepSeek R1を簡単にローカルで動かす方法

Ollamaを使用してDeepSeek R1をローカルで実行することにより、アプリに高度なAI機能を統合できます。このガイドは手順を詳細に説明し、Apidogを活用してAPIの開発とテストを効率的に行い、開発プロセスを簡素化します。

中村 拓也

1月 21, 2025

ApidogとGoogle Analyticsの統合:主要なAPIドキュメント指標を追跡するチュートリアル

ApidogとGoogle Analyticsの統合:主要なAPIドキュメント指標を追跡する

ApidogとGoogleアナリティクスを統合することで、APIドキュメントの主要な指標を追跡し、貴重なユーザー洞察を得て、エクスペリエンスを改善し、API採用率を向上させることができます。

中村 拓也

12月 31, 2024