Topik ini menjelaskan prinsip utama dan langkah-langkah untuk mengintegrasikan client dengan HTTPDNS.
1. Pendahuluan
HTTPDNS adalah solusi DNS sisi client yang menggantikan DNS lokal tradisional, membantu mencegah masalah seperti pembajakan domain, latensi resolusi, tingkat kegagalan tinggi, dan penjadwalan yang tidak akurat. HTTPDNS menyediakan terminal seluler dengan resolusi yang lebih stabil, cepat, dan aman. Proses integrasi melibatkan langkah-langkah utama berikut:
Aktifkan layanan
Tambahkan nama domain ke daftar resolusi
Dapatkan konfigurasi pengembangan
Dapatkan alamat IP hasil resolusi
Terapkan hasil resolusi ke library jaringan
Verifikasi keberhasilan integrasi
Jika Anda menggunakan penguraian kustom untuk mengimplementasikan penjadwalan layanan, Anda juga perlu mengonfigurasi kebijakan penguraian kustom. Untuk informasi selengkapnya, lihat Custom parsing.
Tiga langkah pertama merupakan operasi yang dilakukan di Konsol. Jika Anda belum menyelesaikan langkah-langkah tersebut, lihat Product workflow. Tiga langkah terakhir merupakan bagian dari proses integrasi client. Topik ini berfokus pada proses integrasi client. Sebelum melanjutkan, akan sangat membantu jika Anda memahami cara kerja resolver DNS.
2. Resolver DNS
Resolver DNS adalah komponen layanan jaringan yang menerima kueri nama domain dan mengembalikan alamat IP yang sesuai. Saat app client memulai permintaan jaringan, biasanya pertama kali memanggil library jaringan yang terintegrasi, seperti NSURLSession, OkHttp, atau libcurl. Sebelum membuat koneksi, library jaringan menggunakan resolver DNS untuk meresolusi nama domain target menjadi alamat IP guna membangun koneksi TCP/UDP. Resolver DNS dapat dibagi menjadi dua jenis:
Resolver DNS sistem: Komponen resolusi nama domain, seperti library atau layanan sistem, yang disediakan dan dikelola oleh sistem operasi. Aplikasi memicu resolver sistem untuk melakukan resolusi nama domain melalui pemanggilan API standar, seperti POSIX
getaddrinfo(), WindowsDnsQuery(), atau AppleNetwork.framework. Resolver sistem memulai kueri berdasarkan konfigurasi jaringan saat ini, seperti file hosts lokal, cache DNS, dan pengaturan adaptor jaringan. Pada akhirnya, resolver ini meminta hasil resolusi dari server DNS rekursif—biasanya server DNS ISP yang ditetapkan secara otomatis oleh DHCP atau server DNS publik yang dikonfigurasi manual oleh pengguna, seperti 8.8.8.8 atau 1.1.X.X.Resolver DNS kustom: Resolver DNS kustom menggunakan logika resolusi yang diimplementasikan oleh aplikasi atau library pihak ketiga, yang sebagian atau sepenuhnya melewati resolver sistem. Aplikasi dapat langsung melewati DNS rekursif yang disediakan oleh penyedia layanan dan mengakses layanan resolusi tertentu, seperti server HTTPDNS, untuk mendapatkan alamat IP otoritatif. Salah satu metode umum adalah aplikasi meng-override antarmuka DNS library jaringan, seperti antarmuka
DnsOkHttp atau mekanismeresolvelibcurl, untuk menyuntikkan hasil resolusi langsung di lapisan aplikasi. Metode lain adalah mengintersepsi traffic permintaan melalui proxy dan melakukan DNS hook serta pemetaan domain-ke-IP di lapisan proxy. Pendekatan ini memungkinkan resolusi nama domain dan penjadwalan koneksi yang dikustomisasi.
Mengintegrasikan client dengan HTTPDNS adalah proses mengimplementasikan resolver DNS kustom berdasarkan layanan HTTPDNS. Gambar berikut menunjukkan contoh permintaan HTTP yang mengilustrasikan bagaimana client menggunakan resolver DNS kustom atau protokol DNS-over-HTTPS (DoH) untuk menerapkan hasil resolusi dari server HTTPDNS ke library jaringannya, sehingga memastikan permintaan jaringan menggunakan alamat IP optimal untuk membangun koneksi.

3. Proses integrasi
Setelah Anda mengaktifkan layanan dan menambahkan nama domain ke daftar resolusi di Konsol, Anda dapat mengimplementasikan resolver DNS kustom menggunakan HTTPDNS. Proses ini melibatkan tiga langkah inti:
Dapatkan alamat IP hasil resolusi: Akses server HTTPDNS untuk mendapatkan alamat IP suatu nama domain.
Terapkan hasil resolusi: Suntikkan alamat IP yang diperoleh ke dalam permintaan jaringan.
Verifikasi keberhasilan integrasi: Gunakan log atau pengambilan paket untuk memastikan bahwa dua langkah sebelumnya berhasil.
3.1 Dapatkan alamat IP hasil resolusi
Anda dapat memperoleh hasil resolusi nama domain dari server HTTPDNS melalui salah satu dari tiga cara berikut: menggunakan software development kit (SDK), HTTP API, atau DNS-over-HTTPS (DoH).
Untuk integrasi cepat, interaksi server yang disederhanakan, serta pemanfaatan kemampuan optimasi ketersediaan tinggi dan performa yang komprehensif, gunakan SDK:
Jika kendala lingkungan mencegah penggunaan SDK atau Anda memerlukan kontrol yang sangat dikustomisasi, gunakan HTTP API integration guide. HTTP API bersifat ringan, mendukung protokol HTTP, dan dapat diperluas untuk mencakup fitur seperti enkripsi, verifikasi signature, SDNS, serta kode kesalahan tambahan.
Jika library jaringan client bersifat closed-source—seperti library berbasis kernel Chromium termasuk CEF, Electron, atau Qt WebEngine—antarmuka API lapisan jaringan yang tersedia mungkin terbatas. Jika tersedia antarmuka konfigurasi DoH, gunakan DoH integration.
Pada sebagian besar skenario, penggunaan SDK merupakan pendekatan yang direkomendasikan.
3.2 Terapkan hasil resolusi
Setelah memperoleh alamat IP hasil resolusi, Anda harus menerapkannya selama langkah resolusi DNS pada permintaan jaringan. Metode yang digunakan bergantung pada apakah library jaringan mendukung resolusi DNS kustom. Jika library menyediakan DNS hook atau antarmuka pemetaan nama domain, Anda dapat langsung menyuntikkan hasil resolusi. Jika tidak, Anda dapat menggunakan metode alternatif seperti koneksi IP langsung, penggantian protokol, atau proxy lokal. Dokumen ini mencantumkan solusi adaptasi untuk library dan framework jaringan umum.
Android: OkHttp, Webview, Webview local proxy, ExoPlayer, HttpURLConnection, gRPC, Alibaba Cloud OSS SDK, dan lainnya
iOS: Native network library, WebView, AFNetworking, Alamofire, Alibaba Cloud OSS SDK, dan lainnya
HarmonyOS: Alibaba Cloud OSS SDK, HarmonyOS SDK integration, dan lainnya
Cross-platform: Java SDK integration guide, Flutter plugin integration, Unity integration guide, Node.js SDK integration, dan lainnya
Untuk solusi adaptasi library atau framework jaringan lainnya, seperti Socket.io, HttpClient, Glide, SwiftNIO, dan Libcurl, hubungi Technical support.
3.3 Verifikasi keberhasilan integrasi
Setelah mengintegrasikan client dengan HTTPDNS, Anda dapat memverifikasi keberhasilan dua langkah sebelumnya dengan salah satu dari dua cara berikut:
Verifikasi log (Direkomendasikan)
Metode: Gunakan instrumentasi sisi client untuk mencatat daftar alamat IP hasil resolusi yang diperoleh dari API HTTPDNS, lalu periksa apakah permintaan bisnis diinisiasi dengan benar.
Fitur: Metode ini sederhana, ringan, dan cocok untuk sebagian besar skenario.
Simulasi pembajakan:
Metode: Atur server DNS untuk jaringan Wi-Fi perangkat seluler ke alamat yang tidak valid, lalu amati apakah permintaan bisnis tetap diinisiasi secara normal untuk menentukan keberhasilan integrasi HTTPDNS.
Fitur: Metode ini secara efektif memblokir gangguan dari DNS sistem dan memberikan hasil yang lebih akurat.
4. Ringkasan
Mengintegrasikan dengan HTTPDNS adalah proses membangun resolver DNS kustom. Topik ini menjelaskan tiga langkah inti: mendapatkan alamat IP hasil resolusi, menerapkannya ke library jaringan, dan memverifikasi integrasi. Untuk informasi selengkapnya, termasuk deskripsi API dan catatan penting, lihat panduan pengguna untuk metode integrasi yang Anda pilih: