Overview#DNS resolvers is the client side of the Domain Name System
DNS resolvers is responsible for initiating and sequencing the queries that ultimately lead to a full resolution (translation) of the DNS resource e.g. translation of a DNS Domain name into an IP Address.
DNS resolvers are classified by a variety of query methods, such as
In a non-recursive query, a DNS resolvers queries a Domain Name server that provides a record either for which the server is authoritative, or it provides a partial result without querying other servers. In case of a caching DNS resolvers, the non-recursive query of its local DNS cache delivers a result and reduces the load on upstream DNS servers by caching DNS request records for a period of time after an initial response from upstream DNS servers.
In a recursive query, a DNS resolvers queries a single Domain Name server, which may in turn query other Domain Name server on behalf of the requester. For example, a simple stub resolver running on a home router typically makes a recursive query to the Domain Name server run by the user's ISP. A recursive query is one for which the Domain Name server answers the query completely by querying other name servers as needed and is referred to as a Recursive name server. In typical operation, a client issues a recursive query to a caching Recursive name server, which subsequently issues non-recursive queries to determine the answer and send a single answer back to the DNS resolvers. The resolver, or another DNS server acting recursively on behalf of the resolver, negotiates use of recursive service using bits in the query headers. DNS servers are not required to support recursive queries.