An iterative DNS query is a request for a website name or uniform resource locator (URL) that the domain name system (DNS) server responds to with the IP address from its zone file cache, if possible. If the server doesn’t have the IP address requested, it forwards the request on to another DNS server. Iterative DNS queries are also known as non-recursive DNS queries.
Iterative requests are used to return information from servers that can’t sustain the workload of performing start-to-finish query responses all the time. This could be a DNS server for a domain that is prioritizing traffic to its sites or to a root hints or authoritative server that must maintain availability.
The DNS server responds to iterative queries that it has no local information for through referral. The referral points to a DNS server that is authoritative on a domain namespace and those for lower and lower levels of a domain space. The referrals continue until a DNS server is found that is authoritative to the queried site or until an error is returned or a time out is reached.
Iterative requests are made by both iterative DNS servers and recursive DNS servers. Even the requests made by recursive servers to other DNS servers are iterative. At the level of root DNS, all servers are iterative because they are the end of the line and their availability is crucial to the function of the internet.