すべてのプロダクト
Search
ドキュメントセンター

HTTPDNS:クライアント統合の概要

最終更新日:Jan 20, 2026

このトピックでは、クライアントを HTTPDNS と統合するための主要な原則と手順について説明します。

1. はじめに

HTTPDNS は、従来のローカル DNS に代わるクライアント側の DNS ソリューションです。ドメインハイジャック、名前解決の遅延、高い失敗率、不正確なスケジューリングなどの問題を防止するのに役立ちます。HTTPDNS は、モバイル端末に、より安定し、高速で、安全な名前解決を提供します。統合プロセスには、主に次の手順が含まれます:

  1. サービスの有効化

  2. 名前解決リストへのドメイン名の追加

  3. 開発設定の取得

  4. 名前解決された IP アドレスの取得

  5. ネットワークライブラリへの名前解決結果の適用

  6. 統合成功の検証

説明

カスタム解析を使用してサービススケジューリングを実装する場合は、カスタム解析ポリシーも設定する必要があります。詳細については、「カスタム解析」をご参照ください。

最初の 3 つのステップは、コンソールで実行される操作です。これらのステップを完了していない場合は、「製品ワークフロー」をご参照ください。最後の 3 つのステップは、クライアント統合プロセスの一部です。このトピックでは、クライアント統合プロセスに焦点を当てます。先に進む前に、DNS リゾルバの仕組みを理解しておくと役立ちます。

2. DNS リゾルバ

DNS リゾルバーは、ドメイン名クエリを受信し、対応する IP アドレスを返すネットワークサービスのコンポーネントです。アプリケーションクライアントがネットワークリクエストを開始すると、通常、まず NSURLSessionOkHttplibcurl などの、組み込まれているネットワークライブラリを呼び出します。接続を確立する前に、ネットワークライブラリは DNS リゾルバーを使用して対象のドメイン名を IP アドレスに解決し、TCP/UDP 接続を確立します。DNS リゾルバーは 2 種類に分類できます:

  • システム DNS リゾルバー: オペレーティングシステムによって提供および維持される、ライブラリやシステムサービスなどの名前解決コンポーネントです。 アプリケーションは、POSIX getaddrinfo()、Windows DnsQuery()、または Apple Network.framework などの標準 API 呼び出しを介してシステムリゾルバーをトリガーし、名前解決を実行します。 システムリゾルバーは、ローカル hosts ファイル、DNS キャッシュ、ネットワークアダプターの設定など、現在のネットワーク構成に基づいてクエリを開始します。 最終的に、再帰 DNS サーバに解決結果を要求します。 これらの再帰 DNS サーバは、通常、DHCP によって自動的に割り当てられる ISP DNS サーバか、あるいは 8.8.8.8 や 1.1.X.X のようにユーザーが手動で構成するパブリック DNS サーバです。

  • カスタム DNS リゾルバー: アプリケーションまたはサードパーティのライブラリによって実装された名前解決ロジックを使用し、システムリゾルバーを部分的または完全にバイパスするものです。アプリケーションは、キャリアが提供する再帰的 DNS を直接バイパスし、代わりに HTTPDNS サーバーなどの指定された名前解決サービスにアクセスして、権威 IP アドレスを取得できます。一般的な方法の 1 つは、アプリケーションが OkHttp の Dns インターフェイスや libcurl の resolve メカニズムなどのネットワークライブラリの DNS インターフェイスをオーバーライドし、名前解決の結果をアプリケーション層で直接挿入する方法です。もう 1 つの方法は、プロキシを介してリクエストトラフィックをインターセプトし、プロキシレイヤーで DNS フックとドメインと IP のマッピングを実行することです。このプロセスにより、カスタマイズされた名前解決と接続スケジューリングが可能になります。

HTTPDNS を使用したクライアント統合とは、HTTPDNS サービスに基づいてカスタム DNS リゾルバを実装するプロセスです。次の図は、HTTP リクエストの例を示しています。クライアントがカスタム DNS リゾルバまたは DNS-over-HTTPS (DoH) プロトコルを使用して、HTTPDNS サーバーからの名前解決結果をネットワークライブラリに適用する方法を示しています。これにより、ネットワークリクエストが最適な IP アドレスを使用して接続を確立することが保証されます。

image

3. 統合プロセス

コンソールでサービスを有効化し、名前解決リストにドメイン名を追加した後、HTTPDNS を使用してカスタム DNS リゾルバを実装できます。このプロセスには、次の 3 つのコアステップが含まれます:

  • 名前解決された IP アドレスの取得:HTTPDNS サーバーにアクセスして、ドメイン名の IP アドレスを取得します。

  • 名前解決結果の適用:取得した IP アドレスをネットワークリクエストに注入します。

  • 統合成功の検証:ログまたはパケットキャプチャを使用して、前の 2 つのステップが成功したことを確認します。

3.1. 名前解決された IP アドレスの取得

HTTPDNS サーバーからドメイン名の名前解決結果を取得するには、ソフトウェア開発キット (SDK)、HTTP API、DNS-over-HTTPS (DoH) の 3 つの方法のいずれかを使用できます。

  • 迅速な統合、サーバーとのやり取りの簡素化、包括的な高可用性とパフォーマンス最適化機能を活用するには、SDK を使用します:

  • 環境上の制約により SDK を使用できない場合、または高度にカスタマイズされた制御が必要な場合は、「HTTP API 統合ガイド」を使用します。HTTP API は軽量で、HTTP プロトコルをサポートしています。暗号化、署名検証、SDNS、追加のエラーコードなどの機能を含むように拡張できます。

  • クライアントのネットワークライブラリが、CEF、Electron、Qt WebEngine などの Chromium カーネルに基づくライブラリのようにクローズドソースである場合、公開されるネットワーク層 API が限られている可能性があります。DoH 設定インターフェイスが利用可能な場合は、「DoH 統合」を使用します。

ほとんどのシナリオでは、SDK を使用する方法を推奨します。

3.2. 名前解決結果の適用

名前解決された IP アドレスを取得した後、ネットワークリクエストの DNS 名前解決ステップでそれを適用する必要があります。使用する方法は、ご利用のネットワークライブラリがカスタム DNS 名前解決をサポートしているかどうかによって異なります。ネットワークライブラリが DNS フックまたはドメイン名マッピングインターフェイスを提供している場合は、名前解決結果を直接注入できます。そうでない場合は、直接 IP 接続、プロトコル置換、ローカルプロキシなどの他の方法を使用できます。このドキュメントでは、一般的なネットワークライブラリとフレームワークの適応ソリューションをリストアップしています。

説明

Socket.io、HttpClient、Glide、SwiftNIO、Libcurl などの他のネットワークライブラリやフレームワークの適応ソリューションについては、「テクニカルサポート」までお問い合わせください。

3.3. 統合成功の検証

クライアントを HTTPDNS と統合した後、次の 2 つの方法のいずれかで、前の 2 つのステップが成功したことを確認できます:

  1. ログ検証 (推奨)

    • 方法:クライアント側のイベントトラッキングを使用して、HTTPDNS API から取得した名前解決済み IP アドレスのリストをログに記録します。次に、ビジネスリクエストが正しく開始されているかどうかを確認します。

    • 特徴:この方法はシンプルかつ軽量で、ほとんどのシナリオに適しています。

  • ハイジャックシミュレーション

    • 方法:モバイルデバイスの Wi-Fi ネットワークの DNS サーバーを無効なアドレスに設定します。次に、ビジネスリクエストがまだ正常に開始されるかどうかを観察して、HTTPDNS の統合が成功したかどうかを判断します。

    • 特徴:この方法は、システム DNS からの干渉を効果的にブロックし、より正確な結果を提供します。


4. まとめ

HTTPDNS との統合は、カスタム DNS リゾルバを構築するプロセスです。このトピックでは、名前解決された IP アドレスの取得、ネットワークライブラリへの適用、統合の検証という 3 つのコアステップについて説明しました。API の説明や注意事項などの詳細については、選択した統合方法のユーザーガイドをご参照ください: