HTTPDNS bypasses the traditional Local DNS resolution path by sending DNS queries over HTTP/HTTPS, which prevents DNS hijacking and improves resolution accuracy for mobile applications.
How HTTPDNS resolves domain names
-
Client triggers resolution
-
The application calls the HTTPDNS SDK to initiate a domain name resolution request, for example,
www.aliyun.com. -
The SDK checks the local cache on the client:
-
If cached results exist and have not expired, the IP list is returned.
-
If the cache is invalid or no record exists, the SDK initiates a recursive resolution request to the server.
-
-
-
SDK requests to the HTTPDNS server
-
The SDK calls the HTTP API to send a single domain name resolution request to the server.
-
The server performs iterative queries to authoritative DNS servers according to the standard DNS protocol.
-
The server returns the final recursive resolution results to the SDK.
-
-
SDK processes server response results
-
The SDK caches the latest IP list and manages its lifecycle based on TTL.
-
The SDK returns the IP list to the application based on the current network stack (and IP speed test sorting).
-
